Objective c 更改设备方向时,场景将更改回“开始场景”

Objective c 更改设备方向时,场景将更改回“开始场景”,objective-c,orientation,sprite-kit,skscene,Objective C,Orientation,Sprite Kit,Skscene,我对使用多个场景的精灵套件有问题。每次我更改设备方向时,sprite kit都会显示第一个场景。当我翻转iPhone时,游戏场景消失,设备显示菜单场景 我怎样才能解决这个问题 我猜您可以在viewcontroller的viewWillLayoutSubviews方法中运行presentScene,而不必担心在某些情况下,例如调整视图大小时,此方法会重复运行。感谢您的帮助。我用“如果(!skView.scene){…}解决了这个问题: -(void)视图将布局子视图 { [超级视图将布局子视图];

我对使用多个场景的精灵套件有问题。每次我更改设备方向时,sprite kit都会显示第一个场景。当我翻转iPhone时,游戏场景消失,设备显示菜单场景


我怎样才能解决这个问题

我猜您可以在viewcontroller的
viewWillLayoutSubviews
方法中运行
presentScene
,而不必担心在某些情况下,例如调整视图大小时,此方法会重复运行。

感谢您的帮助。我用“
如果(!skView.scene){…}
解决了这个问题:

-(void)视图将布局子视图
{
[超级视图将布局子视图];
SKView*SKView=(SKView*)self.view;
如果(!skView.scene){//
- (void)viewWillLayoutSubviews
{
    [super viewWillLayoutSubviews];

    SKView * skView = (SKView *)self.view;

    if ( !skView.scene ) {  // <------- !! 

    SKScene * scene = [MenuScene sceneWithSize:skView.bounds.size];
    scene.scaleMode = SKSceneScaleModeAspectFill;

    [skView presentScene:scene];
    }
}