ios - 翻转 iPhone 方向重新加载 View Controller

标签 ios xcode sprite-kit

我有一个 viewcontroller,里面有一个 SKview(我正在使用 spritekit),每次我改变手机的方向(从一种横向方式到另一种横向方式,反之亦然),它都会重新加载 viewcontroller,就好像我刚刚打开了应用程序(viewcontroller 是第一个)。

有解决办法吗?

我似乎找不到任何人遇到同样的问题。

代码:

http://pastie.org/8669630

最佳答案

您正在 viewWillLayoutSubview 中设置您的 SKView每次旋转设备( View 框架更改)时都会调用它。

这很好,因为 View 将具有正确的尺寸,但是您应该放置一些 var 以了解您是否应该再次设置 View 。例如 BOOL sceneSetUp

- (void)viewWillLayoutSubviews
{
    [super viewWillLayoutSubviews];
    if(!self.sceneSetUp){
    // Configure the view.
    SKView * skView = (SKView *)self.view;
    //skView.showsFPS = YES;


    // Create and configure the scene.
    SKScene * startScene = [StartViewController sceneWithSize:skView.bounds.size];
    startScene.scaleMode = SKSceneScaleModeAspectFill;

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

    // Present the scene.
    [skView presentScene:startScene];
    //[skView presentScene:scene];
    self.sceneSetUp = YES;
    }
}

关于ios - 翻转 iPhone 方向重新加载 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21367686/

相关文章:

ios - 无法识别的选择器发送到实例 (iOS) - automaticallyWaitsToMinimiseStalling

iPhone,addSubView不调用willViewAppear?

ios - 无法在iOS应用程序中使用AFNetworking

ios - 带有导航 Controller 的不同页面上的 Xamarin.SideBar

ios - Tumblr 主页提要

macos - SKSpriteNode 表示正确的大小

swift - 自定义类型的 ChildNode 在 Swift Playground 上返回 Nil

swift - 如何在 Swift 和 SpriteKit 中添加涟漪效果

ios - NSMetadataQuery启用更新

ios - 应用内购买 iOS 6