use*_*886 1 transition objective-c uiviewcontroller ios sprite-kit
我在XCode上开发iOS游戏.我有几个SKScenes,每个都与UIViewController类相关联.所以在每个视图控制器的viewDidLoad中,我都创建了
SKView *skView = (SKView *)self.view
SKScene * scene = [whateverSKScene sceneWithSize:skView.bounds.size]
[skView present scene]
Run Code Online (Sandbox Code Playgroud)
我想避开故事板.但是,当我从第一个视图控制器向下一个视图控制器呈现ViewController时,应用程序在"[skView当前场景]"行崩溃,因为它认为新视图控制器的视图仍然是UIView(' - [UIView presentScene:]:无法识别的选择器已发送例如).
我怎样才能解决这个问题?具体来说,在创建第二个视图控制器(以编程方式)时,如何将其视图更改为SKview类型而不是UIview?(我应该注意到我希望视频控制器的场景是1:1,因为几乎所有这些都是弹出窗口,比如弹出游戏弹出的弹出菜单或弹出设置等)
尝试在自定义ViewController上实现loadView方法,如下所示:
override func loadView() {
self.view = SKView(frame: CGRect(x: 0, y: 0, width: 320, height: 480))
}
Run Code Online (Sandbox Code Playgroud)
这就是Apple的文档所述:
这是子类在不使用nib时应创建自定义视图层次结构的位置.永远不应该直接打电话.
| 归档时间: |
|
| 查看次数: |
1194 次 |
| 最近记录: |