从 SKScene 呈现后无法关闭视图控制器

Posted

技术标签:

【中文标题】从 SKScene 呈现后无法关闭视图控制器【英文标题】:Can't dismiss view controller after presenting from SKScene 【发布时间】:2014-06-26 13:10:36 【问题描述】:

我正在尝试从SKScene 访问设置屏幕。

这就是我展示设置控制器的方式:

let storyboard = UIStoryboard(name: "Main", bundle: nil);
let settingController: UIViewController = storyboard.instantiateViewControllerWithIdentifier("Settings") as UIViewController

let vc = self.view.window.rootViewController;
vc.presentModalViewController(settingController, animated: true);

但是一旦我运行这段代码就会关闭:

@IBAction func backToGame(sender : AnyObject) 
    [self.parentViewController .dismissModalViewControllerAnimated(true)];

我收到EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0) 错误,日志中没有显示任何内容。

我该如何解决这个问题?

【问题讨论】:

- (IBAction)goBack:(id)sender [self dismissViewControllerAnimated:YES completion:nil]; 似乎也不能正常工作 【参考方案1】:

我是个傻瓜,不知道我只是在 Objective-C 和 swift 之间混淆了。当我的项目应该在 swift 中编译时,问题似乎来自我使用 obj-C 而不是 swift 的地方。

@IBAction func backToGame(sender : AnyObject) 
    self.dismissModalViewControllerAnimated(true);

这立即解决了我的问题。

【讨论】:

以上是关于从 SKScene 呈现后无法关闭视图控制器的主要内容,如果未能解决你的问题,请参考以下文章