UIActivityViewController问题

时间:2014-05-19 11:05:50

标签: ios ios7 ios6 uikit

我正在尝试为我的应用添加共享功能。我创建了一个按钮并导入了UIKIT框架。 Xcode继续抛出错误没有可见的@interface为'MainMenuScene'声明选择器'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

2 个答案:

答案 0 :(得分:0)

在这种情况下调用self是调用MainMenuScene对象。您的MainMenuScene&#39;是CCNode类型,类型为NSObject。你需要打电话给

presentViewController:animated:completion

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

答案 1 :(得分:0)

使用方法:

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

目标类必须是UIViewController的子类。在这里,你的MainMenuScene是CCNode的子类,它甚至没有间接地从UIViewController继承。

请找到合适的视图控制器(可能是您的根控制器)并在其上显示UIActivityViewController