微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift中的viewWillLayoutSubviews

我正在尝试翻译SKScene * scene = [GameScene sceneWithSize:skView.bounds.size];快速但我得到了错误

‘sceneWithSize’ is unavailable: use object construction ‘SKScene(size:)’.

我正在使用viewWillLayoutSubviews并删除viewDidLoad(),因为它没有为我选择的设备的屏幕尺寸提供正确的尺寸.它实际上让我怀疑为什么viewDidLoad()存在?

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 = GameScene.sceneWithSize(skView.bounds.size); // ERROR MESSAGE!
        //    Objective-C code in next 2 lines
        //    SKScene * scene = [GameScene sceneWithSize:skView.bounds.size];
        //    scene.scaleMode = SKScenescaleModeAspectFill;

        // Present Scene
        skView.presentScene(scene)
    }
}

解决方法

尝试改变

let scene:SKScene = GameScene.sceneWithSize(skView.bounds.size);

通过

let scene:SKScene = GameScene(size: skView.bounds.size);

希望这可以帮助

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐