Cocos2d-x 添加iOS7默认分享/AirDrop
2014-03-22 22:45
267 查看
猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢!
原文地址: http://www.cocos2dev.com/?p=530
![](http://img.blog.csdn.net/20140322224428703?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29jb3MyZGVy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
下午添加分享的时候,看着这么多第三方sdk,我还是喜欢ios7默认的分享功能,简洁大方。它也能显示你已安装的社交app。
下面我说下如何在cocos2dx里面使用。
下面是封装好的IOSShareManager.h/m ,这个是一个oc单例类,负责调用分享和保存rootViewController。代码很少,看注释就可以了明白了。
IOSShareManager.h
IOSShareManager.m
上面的是oc的类,下面添加中间层接口,供cpp调用。IOSShare.h/mm 就是我们需要添加的中间层类方法。
IOSShare.h
IOSShare.mm
ok,下面就是如何使用。
第一步:设置IOSShareManager 的rootViewController。
请在AppController.mm,添加:#import “IOSShareManager.h”, 并在下面函数中设置IOSShareManager 的rootViewController
第二步:cpp中调用分享,参数坐标当在ipad下的时候,以该坐标为弹出点,弹出分享视图。
原文地址: http://www.cocos2dev.com/?p=530
下午添加分享的时候,看着这么多第三方sdk,我还是喜欢ios7默认的分享功能,简洁大方。它也能显示你已安装的社交app。
下面我说下如何在cocos2dx里面使用。
下面是封装好的IOSShareManager.h/m ,这个是一个oc单例类,负责调用分享和保存rootViewController。代码很少,看注释就可以了明白了。
IOSShareManager.h
// // IOSShareManager.h // IOS7ShareSample // // Created by LiuYanghui on 14-3-22. // // #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface IOSShareManager : NSObject + (IOSShareManager *) getInstance; - (void)share:(CGPoint)pos; @property (nonatomic, readwrite, retain) id viewController; @end
IOSShareManager.m
// // IOSShareManager.m // IOS7ShareSample // // Created by LiuYanghui on 14-3-22. // // #import "IOSShareManager.h" @interface IOSShareManager() @property (strong, nonatomic) UIPopoverController *activityPopover; @end @implementation IOSShareManager + (IOSShareManager *) getInstance { static IOSShareManager* gameMgr = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ gameMgr = [[self alloc] init]; }); return gameMgr; } - (void)share:(CGPoint)pos { // 你可以先截屏保存到document下,这里的image读取document下面。 UIImage *image = [UIImage imageNamed:@"HelloWorld.png"]; NSString *mesg = @"You can add some description info here!"; UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[image, mesg] applicationActivities:nil]; if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { //iPhone 从底部向上滑出view [self.viewController presentViewController:activityViewController animated:YES completion:nil]; } else { //iPad, 弹出view if (![self.activityPopover isPopoverVisible]) { self.activityPopover = [[UIPopoverController alloc] initWithContentViewController:activityViewController]; [self.activityPopover presentPopoverFromRect:CGRectMake(pos.x, pos.y, 0, 0) inView:((UIViewController *)self.viewController).view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; } else { //Dismiss view,当重复点击时 [self.activityPopover dismissPopoverAnimated:YES]; } } } - (id)init { self = [super init]; if (self) { // init code here } return self; } - (void) dealloc { [super dealloc]; } @end
上面的是oc的类,下面添加中间层接口,供cpp调用。IOSShare.h/mm 就是我们需要添加的中间层类方法。
IOSShare.h
// // IOSShare.h // IOS7ShareSample // // Created by LiuYanghui on 14-3-22. // // #ifndef __IOS7ShareSample__IOSShare__ #define __IOS7ShareSample__IOSShare__ class IOSShare { public: /*! @brief share * * 显示分享view,如果是ipad,则从设置位置弹出view * @param posX * @param posY */ static void share(float posX, float posY); }; #endif /* defined(__IOS7ShareSample__IOSShare__) */
IOSShare.mm
// // IOSShare.cpp // IOS7ShareSample // // Created by LiuYanghui on 14-3-22. // // #include "IOSShare.h" #import "IOSShareManager.h" void IOSShare::share(float posX, float posY) { [[IOSShareManager getInstance] share:CGPointMake(posX, posY)]; }
ok,下面就是如何使用。
第一步:设置IOSShareManager 的rootViewController。
请在AppController.mm,添加:#import “IOSShareManager.h”, 并在下面函数中设置IOSShareManager 的rootViewController
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // .... [[IOSShareManager getInstance] setViewController:viewController]; }
第二步:cpp中调用分享,参数坐标当在ipad下的时候,以该坐标为弹出点,弹出分享视图。
IOSShare::share(300, 300);
相关文章推荐
- Cocos2d-x 添加iOS7默认分享/AirDrop
- Cocos2d-x 添加iOS7默认分享/AirDrop
- cocos2d-x 之 添加Android分享
- 如何为iOS app添加AirDrop文件分享功能
- [绍棠] 如何为iOS app添加AirDrop文件分享功能
- cocos2d-x添加分享
- cocos2d-x 之 添加sns分享
- 如何为iOS app添加AirDrop文件分享功能
- 自定义UITabBar替换系统默认的(添加“+”号按钮)
- 我们爱分享----在MyEclipse 中添加自己定义的文件模版
- android 在share sdk中添加自定义微信多图分享
- 在分享中,拨号,选择壁纸来源等系统打开方式中添加如自己的程序
- Cocos2D添加精灵纹理滤镜实现图像复古效果的转换
- 给MongoDB添加用户权限方法分享
- 微信小程序之分享,动态添加分享数据
- cocos2d-x 为CCEditBox添加纯数字0到9的键盘输入类型并讲解其使用
- cocos2d-x中添加TV按键响应
- cocos2d iOS7 彻底隐藏 status bar
- java通过复选框控件数组实现添加多个复选框控件示例分享
- 程序文件BUG:第三方分享添加错误解决方案