互联网上有很多帖子询问如何正确组合 SpriteKit 和 Storyboard/Interface builder。特别是没有人能够从 SKscene 移动到所需的 UIViewController。网上的解决方案都没有真正解决这个问题!难道真的不能这样做吗??如果是这样,这将是 SpriteKit 的一个重大限制......
最佳答案
您无法直接从 SKScene
移动到另一个 UIViewController
。
但是,SKScene
已经包含在 UIViewController
中。
您可以使用委托(delegate)
将方法调用从场景传递到其 Controller 。然后 Controller 可以移动到另一个 View Controller 。
所以...
创建一个委托(delegate)协议(protocol),其中包含类似...的方法
- (void)transitionToOtherViewController;
将当前 View Controller 设置为场景的委托(delegate)。
self.scene.delegate = self;
当你想移动到另一个 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/