我会尽力解释这一点。好的,我在 xcode5 中使用 SpriteKit。在 Myscene.mi 中有一个方法叫做:
-(void)presentViewController
{
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *vc = [mainStoryboard instantiateViewControllerWithIdentifier:@"MyView"];
[self.view.window.rootViewController presentViewController:vc animated:YES completion:nil];
}
然后在我的 NSTimeintervalUpdate 方法中,我有一个代码说
if(score >= 3)
{
[self presentViewController]
}
所有这些代码都会从情节提要中调出我想要的视图控制器,就像它应该没有问题一样,但是在这个视图控制器中,它有一个链接回游戏的按钮。当您单击按钮时,它会按原样返回游戏。好吧,在游戏过程中,它并没有像第一次那样以“3”的分数返回我的 ViewController,它只是继续计数并在日志中提供以下错误消息:
2014-07-12 22:40:27.710 tests[337:60b] Warning: Attempt to present <ViewController2: 0xc354e40> on <ViewController: 0x9960b80> whose view is not in the window hierarchy!
我的意图是拥有我的游戏(Myscene.m),当游戏结束时,是拥有一个游戏结束屏幕(ViewController)。然后从这个视图控制器中,我希望它有一个再次播放按钮,该按钮链接回 Myscene.m(我只是通过制作按钮和控件并拖动到处理我的 SKScene 的视图控制器来完成)并继续重复过程但是它只会执行一次此过程,然后无法循环返回,而是出现上述错误。
任何帮助表示感谢!