我正在尝试为我的应用添加共享功能。我创建了一个按钮并导入了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
答案 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