Ipad SpriteKit-模式出现后场景不会消失

Ipad SpriteKit-模式出现后场景不会消失,ipad,ios7,swift,sprite-kit,skscene,Ipad,Ios7,Swift,Sprite Kit,Skscene,当我在某些设备上重置场景时,我的新场景似乎被前一场景的屏幕截图所覆盖。这不会发生在我的iPhone 6 Plus iOS 8.1.1或任何模拟器上。我在iPhone 5 iOS 7.1.2上解决了这个问题,将视图控制器的视图从SKView更改为带有SKView子视图的UIView。显然,在iOS 7上,在情节提要中向SKView添加按钮是一个问题,但问题在iPad上依然存在 在我的iPad28.1.1上,这个问题只有在我第二次玩透之后才会发生。游戏第一次运行,当您再次玩时,它再次运行,然后如果您

当我在某些设备上重置场景时,我的新场景似乎被前一场景的屏幕截图所覆盖。这不会发生在我的iPhone 6 Plus iOS 8.1.1或任何模拟器上。我在iPhone 5 iOS 7.1.2上解决了这个问题,将视图控制器的视图从SKView更改为带有SKView子视图的UIView。显然,在iOS 7上,在情节提要中向SKView添加按钮是一个问题,但问题在iPad上依然存在

在我的iPad28.1.1上,这个问题只有在我第二次玩透之后才会发生。游戏第一次运行,当您再次玩时,它再次运行,然后如果您第三次点击play,您将获得此屏幕,其中节点物理体的幽灵保持showPhysics设置为true,如果设置为false,则屏幕为空白白色:

奇怪的是,我仍然可以玩这个游戏,我只是看不到在这个静止的屏幕截图下发生了什么。我听到我的播放器四处弹跳并撞到敌人,但屏幕保持静止

根据日志,前一个场景正在被去除

以下是从启动到重置流程的相关部分:

// MainMenuVC
@IBAction func startGamePressed(sender: UIButton) {
        let gameViewController = self.storyboard!.instantiateViewControllerWithIdentifier("GameViewController") as GameViewController
        navigationController!.pushViewController(gameViewController, animated: false)
    }

// GameViewController    
    override func viewDidLoad() {
        super.viewDidLoad()
        playGame()
    }

    func playGame() {
        let skView = self.view as SKView

        let scene = GameScene(size:CGSize(width: 640, height: 1136))
        scene.scaleMode = .AspectFill
        skView.ignoresSiblingOrder = true

        weak var weakSelf = self
        scene.moveToGameOverScreen = {  // Calls up to VC to present GameOverVC modally
            let vc = weakSelf!.storyboard!.instantiateViewControllerWithIdentifier("GameOverVC") as GameOverVC
            vc.gameOverDelegate = weakSelf
            vc.modalTransitionStyle = .CrossDissolve
            weakSelf!.navigationController!.presentViewController(vc, animated: true, completion: nil)
        }
        skView.presentScene(scene)
    }

// GameScene

    func lose() {
        if (self.moveToGameOverScreen != nil) {
             self.moveToGameOverScreen!()   // Calls up to VC to show GameOverVC modally
        }
    }

// GameOverVC

@IBAction func play(sender: UIButton) {
        dismissViewControllerAnimated(false, completion: nil)   // To dismiss this modal
        gameOverDelegate?.playGame()    // resets
    }

图形是否使用调试绘图?图形是由图像制成的SKSPRITENODE。由于某种原因,它们不会出现,只是通过设置showPhysics标志绘制的物理体的轮廓。当我将该标志设置为off时,经过播放后,该屏幕仅为空白白色。