0

私は多くのことを試しましたが、どれも機能していません。私はSKSceneを持っています。ゲームが終了したら、元のビュー コントローラーに戻したいと思います。前もって感謝します。

私はSKSceneでこれを試しました

homeScreenViewController *viewCont = [[homeScreenViewController alloc] init];
            [viewCont viewDidLoad];

これは私の他のView Controllerにあります

constructinoViewController *view = [[constructinoViewController alloc ] init];
        [self presentViewController:view animated:YES completion:nil];

ほとんどの場合、 The view is not in the view hierarchy と表示されます

4

2 に答える 2

0

親viewControllerにメッセージを送信する方法が必要です。

SKScene を表示する viewController で、viewDidLoad に次の行を追加します。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(closeScene) name:@"closeScene" object:Nil];

また、このメソッドを追加します

-(void)closeScene
{
    //Remove the SKView, or present another viewController here.

    [[NSNotificationCenter defaultCenter] removeObserver:self name:@"closeScene" object:nil];
}

次に、SKScene で、ゲームが終了した時点で、

[[NSNotificationCenter defaultCenter] postNotificationName:@"closeScene" object:nil];

デリゲートを使用してこれを行うこともできます。

于 2014-02-27T11:46:41.090 に答える
0

ViewController を提示した場合は、それを閉じて前の ViewController に戻る必要があります。

使用する必要があります

[self dismissViewControllerAnimated:YES completion:NULL];
于 2014-02-28T05:48:02.430 に答える