【问题标题】:cannot interact with viewcontroller after seguesegue 后无法与视图控制器交互
【发布时间】:2021-10-26 03:18:16
【问题描述】:

我有一个相当奇怪的问题。我有一个用 sprite kit 制作的游戏,带有 2 个视图控制器,一个用于游戏,一个用于菜单。当游戏结束时,视图控制器返回菜单并关闭游戏窗口,这第一次工作正常,但如果你再去玩另一个游戏,输了然后回来,由于某种原因你不能与菜单交互以任何方式查看控制器。这是我的代码,从 SKScene 运行:

        [self.view.window.contentViewController performSegueWithIdentifier:@"endGame" sender:self];
        [self.view.window performClose:nil]; //close the window

正如我之前所说,它第一次可以工作,但第二次不行,它显示菜单但您无法与之交互。

【问题讨论】:

  • 使用通知与您的游戏视图控制器对话。
  • 你能解释清楚一点吗?
  • SKSceneUIView 的子类。所以它的视图控制器的工作是转换到不同的视图控制器。将观察者添加到您的游戏视图控制器,以便您可以在必要时从游戏场景中与其对话。
  • 我先这样做了,使用了一个额外的线程来监控它,结果是一样的。从视图控制器或 SKScene 尝试它没有区别
  • 另外,如果是你之前说的,第一次不行,我可以让它segue两次,接下来是什么问题。

标签: objective-c macos sprite-kit


【解决方案1】:

所以我找出了问题所在。当您在情节提要中创建一个新的视图控制器时,它也会创建一个新的窗口控制器。我在我的应用程序中使用了 2 个窗口控制器,通过删除其中 1 个并将菜单窗口链接到游戏场景的窗口控制器,它解决了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-18
    • 2018-10-14
    • 1970-01-01
    • 2015-11-26
    • 2020-02-17
    • 1970-01-01
    • 2014-07-17
    • 1970-01-01
    相关资源
    最近更新 更多