Ios 使用ViewWillLayoutSubView的模拟器中没有显示任何内容

Ios 使用ViewWillLayoutSubView的模拟器中没有显示任何内容,ios,swift,sprite-kit,Ios,Swift,Sprite Kit,在我的GameView Controller.swift文件中,我删除了viewDidLoad并放入viewWillLayoutSubviews,因为我将在计算中使用设备的尺寸。但是,hello world SKLabelNode不再显示在模拟器中。你知道我做错了什么吗 override func viewWillLayoutSubviews() { super.viewWillLayoutSubviews() let skView = self.view as

在我的GameView Controller.swift文件中,我删除了viewDidLoad并放入viewWillLayoutSubviews,因为我将在计算中使用设备的尺寸。但是,hello world SKLabelNode不再显示在模拟器中。你知道我做错了什么吗

override func viewWillLayoutSubviews() {
        super.viewWillLayoutSubviews()
        let skView = self.view as SKView
        if skView.scene != nil{
            skView.showsFPS = true
            skView.showsNodeCount = true
            skView.showsPhysics = true
            // Create and configure the scene

            let scene = SKScene(size: skView.bounds.size)
            scene.scaleMode = SKSceneScaleMode.AspectFill;

            // Present Scene
            skView.presentScene(scene)
        }

场景是通用的,虽然我不太了解swift,但您确定这是“您的”场景加载,而不仅仅是SKScene()?请尝试
GameSecene
而不是
SKScene
。顺便说一句,您可以通过在默认的视图控制器代码中将缩放模式设置为
.ResizeFill
。@0x141E我尝试过让场景=游戏场景(大小:skView.bounds.size),但没有改变。另一个尝试:在默认的视图控制器代码中,我将scaleMode设置为.ResizeFill并使用默认的GameSecene.swift,但是hello world并没有像它应该的那样位于屏幕中央。不过它确实运行了。@StephenJ我的场景工作正常,因为当我取消注释默认viewDidLoad并注释我的viewWillLayoutSubviews时,会显示hello world。在Xcode创建项目时使用默认GameSecene.swift。调用
didMoveToView
后,场景将重新调整大小,因此您应该使用视图的框架来居中标签,而不是
self