【问题标题】:Cocos2d-x sharing on iOS using UIActivityViewControllerCocos2d-x 在 iOS 上使用 UIActivityViewController 分享
【发布时间】:2014-09-10 13:06:02
【问题描述】:

我正在尝试按照此处所述实现共享:How can I add a "share" option to an iOS/iPhone or Android image gallery?

NSString* someText = self.textView.text;
NSArray* dataToShare = @[someText];  // ...or whatever pieces of data you want to share.

UIActivityViewController* activityViewController = 
[[UIActivityViewController alloc] initWithActivityItems:dataToShare 
                                  applicationActivities:nil];
[self presentViewController:activityViewController animated:YES completion:^{}];

我在单击 MenuItem 后运行此代码,我有一个 mm 文件,它允许我执行 obj-c 代码。

问题在于 self 运算符,我的类不是从 iOS 类派生的,我应该改用什么?

【问题讨论】:

标签: ios cocos2d-x


【解决方案1】:

在 cocos2d v3 中这样做的方法就是像这样使用CCDirector:

[[CCDirector sharedDirector] presentViewController:activityViewController animated:YES completion:nil];

【讨论】:

    【解决方案2】:

    在我曾经写过的基于 Cocos2d-x(版本 UIApplicationDelegate:

    @interface AppController : NSObject <UIApplicationDelegate> 
    

    并且有一个成员:

    RootViewController    *viewController;
    

    在方法application:didFinishLaunchingWithOptions: viewController 被初始化,最后控制权被传递给 cocos2d 应用程序类:

    cocos2d::CCApplication::sharedApplication()->run();
    

    然后是继承CCApplication的C++类:

    class  AppDelegate : private cocos2d::CCApplication
    

    它实现了 applicationDidFinishLaunching() 方法,它初始化了通常的 Cocos2d-x 东西,然后调用 CCDirector::runWithScene()。 我猜您的应用程序具有类似的架构。 您应该尝试传递RootViewController 指针,然后调用

    [viewController presentViewController: animated:];
    

    【讨论】:

      猜你喜欢
      • 2015-12-09
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多