【问题标题】:UIActivityViewController issueUIActivityViewController 问题
【发布时间】:2014-05-19 11:05:49
【问题描述】:

我正在尝试向我的应用程序添加共享功能。我创建了一个按钮并导入了 UIKIT 框架。 Xcode 不断抛出错误no visible @interface for 'MainMenuScene' declares selector 'presentViewController:animated:completion。知道如何解决这个问题吗?


我的代码 mainmenuscene.m

- (void)share {
    NSArray * activityItems = @[[NSString stringWithFormat:@"Some initial text."], [NSURL URLWithString:@"http://www.google.com"]];
    NSArray * applicationActivities = nil;
    NSArray * excludeActivities = @[UIActivityTypeAssignToContact, UIActivityTypeCopyToPasteboard, UIActivityTypePostToWeibo, UIActivityTypePrint, UIActivityTypeMessage];

    UIActivityViewController * activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:applicationActivities];
    activityController.excludedActivityTypes = excludeActivities;

    [self presentViewController:activityController animated:YES completion:nil];     
}

MainMenuScene.h

#import "CCNode.h"
#import <UIKit/UIActivityViewController.h>


@interface MainMenuScene : CCNode{

UIViewController *viewController;
UIActivityViewController *activityController;


}

@end

【问题讨论】:

    标签: ios ios7 ios6 uikit


    【解决方案1】:

    使用方法:

    - (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion
    

    目标类必须是UIViewController 的子类。这里你的 MainMenuScene 是 CCNode 的子类,它不是从UIViewController 间接继承的。

    所以请找一个合适的视图控制器(它可能是你的根控制器)并在上面显示UIActivityViewController

    【讨论】:

      【解决方案2】:

      在这种情况下调用self 是调用MainMenuScene 对象。您的“MainMenuScene”是 NSObject 类型的 CCNode 类型。你需要调用

      presentViewController:animated:completion
      

      在从 UIViewController 继承的对象上。具体来说,您需要从要从中显示 activityController 的视图控制器中调用它。

      【讨论】:

        猜你喜欢
        • 2014-05-10
        • 2013-09-20
        • 1970-01-01
        • 2014-11-19
        • 1970-01-01
        • 1970-01-01
        • 2014-01-09
        • 1970-01-01
        • 2017-04-20
        相关资源
        最近更新 更多