从 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 呈现后无法关闭视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

在关闭另一个模式视图控制器后呈现一个模式视图控制器

关闭模态呈现的视图控制器后切换标签栏控制器视图控制器

关闭 SKScene 后,内存仍然很高

出现后无法关闭视图控制器

在 IOS 6.0 中:底部工具栏中的 UIBarButton 在呈现和关闭模式视图控制器后消失

从视图控制器设置 SKScene 委托,未找到委托