私はできる限りこれを説明しようとします。さて、私は 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]
}
このコードはすべて、ストーリーボードから必要なView Controllerを問題なく表示しますが、このView Controllerにはゲームにリンクするボタンがあります。ボタンをクリックすると、本来のようにゲームに戻ります。ゲーム中に、最初のように「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) を作成することです。そして、このView Controllerから、Myscene.mにリンクされた再生ボタンが必要です(ボタンとコントロールを作成して、SKSceneを処理するView Controllerにドラッグするだけです)、プロセスを繰り返し続けますが、このプロセスは 1 回だけ実行され、ループバックに失敗し、代わりに上記のエラーが表示されます。
どんな助けでも感謝します!