ios - 从 SKscene (SpriteKit) 呈现 UIViewController

标签 ios iphone storyboard interface-builder sprite-kit

互联网上有很多帖子询问如何正确组合 SpriteKit 和 Storyboard/Interface builder。特别是没有人能够从 SKscene 移动到所需的 UIViewController。网上的解决方案都没有真正解决这个问题!难道真的不能这样做吗??如果是这样,这将是 SpriteKit 的一个重大限制......

最佳答案

您无法直接从 SKScene 移动到另一个 UIViewController

但是,SKScene 已经包含UIViewController 中。

您可以使用委托(delegate)将方法调用从场景传递到其 Controller 。然后 Controller 可以移动到另一个 View Controller 。

所以...

  1. 创建一个委托(delegate)协议(protocol),其中包含类似...的方法- (void)transitionToOtherViewController;

  2. 将当前 View Controller 设置为场景的委托(delegate)。

    self.scene.delegate = self;

  3. 当你想移动到另一个 View Controller 时。在场景中你会看到类似...

    [self.delegatetransitionToOtherViewController];

然后在 View Controller 中你...

- (void)transitionToOtherViewController
{
    MyOtherViewController *controller = [MyOtherViewController new];

    [self.navigationController pushViewController:controller animated:YES];
}

或者类似的东西...

关于ios - 从 SKscene (SpriteKit) 呈现 UIViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23930592/

相关文章:

ios - 等待从 Web API iOS 加载数据结束

ios - 为什么我的自定义委托(delegate)在 Objective-C 中不起作用?

iphone - 为什么我的表格 View 单元格在使用 reloadRowsAtIndexPaths 重新加载时消失?

iphone - 从 App Delegate 调用时 PushViewController 不起作用

objective-c - UITableView:显示 tableFooterView 时运行代码?

iOS 操作扩展,从 Safari 共享 PDF 失败

ios - 通过POST方法发送带有图像的参数?

ios - 用 Action 连接静态单元格

ios - Xcode 10 - iOS 9.0 之前的 Safe Area Layout Guide [12] 错误

xcode - 如何使用 Storyboard 在一个 TableView 中添加不同的自定义单元格?