找不到 presentViewController

Posted

技术标签:

【中文标题】找不到 presentViewController【英文标题】:Finds no presentViewController 【发布时间】:2014-03-22 14:29:25 【问题描述】:

我在 ViewController.m 中写得很好,但是当我在 MyScene 类中写它时,我得到了错误: “MyScene”没有可见的@interface 声明选择器“presentViewController:animated:completion:”

   if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
    
    SLComposeViewController *tweetSheet = [SLComposeViewController
    composeViewControllerForServiceType:SLServiceTypeTwitter];
    [tweetSheet setInitialText:@"text"];
    [self presentViewController:tweetSheet animated:YES completion:nil];
    

【问题讨论】:

【参考方案1】:

SKScene 类没有实现 presentViewController。您只能在 UIViewController 子类上调用它。

您需要获取对包含视图控制器的引用。

您可以通过此代码使用“presentModalViewController”来访问根视图控制器

UIViewController *vc = self.view.window.rootViewController;
[vc presentViewController: activityViewController animated: YES completion:nil];

【讨论】:

我的应用委托和定义 UIViewController *vc = self.window.rootViewController; 时遇到了这个问题解决了问题。

以上是关于找不到 presentViewController的主要内容,如果未能解决你的问题,请参考以下文章

在关闭中找不到成员

窗口层次结构 ios

Swift Sprite Kit 中的游戏中心

presentViewController pushViewController和presentModalViewController

presentViewController pushViewController和presentModalViewController

PresentViewController切换界面