OGeek|极客世界-中国程序员成长平台

标题: ios - SKView 未在单 View 应用程序中显示 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 09:15
标题: ios - SKView 未在单 View 应用程序中显示

尝试在我的单 View 应用程序中实现游戏。我按照将 Spritekit.framework 添加到我的应用程序中的步骤进行操作。然后我尝试将 SKView 添加到我的 View Controller 的自定义类中,但 Xcode 7 似乎不喜欢这样,所以模块部分是空白的。然后编译后我总是崩溃:

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[SKView]'

import UIKit
import SpriteKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        var spriteView: SKView = self.view as! SKView
        spriteView.showsDrawCount = true
        spriteView.showsNodeCount = true
        spriteView.showsFPS = true

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

enter image description here

我将如何解决这个问题?



Best Answer-推荐答案


感谢您发布代码。

首先。您正在从 UIView 创建 SKView。我想你可能已经从新的 SpriteKit 模板中提取了这个?如果你查看 Storyboard 中的模板,我想你会发现已经添加到 Controller 中的 View 是一个 SKView。

在 Storyboard中将其更改为 SKView 将解决您的问题,但是您的 Controller 的基本 View 现在将是 SKView,您可能想要也可能不想要。

或者,您可以将 SKView 添加为 subview :

import UIKit
import SpriteKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        var spriteView = SKView(frame: view.frame)
        spriteView.showsDrawCount = true
        spriteView.showsNodeCount = true
        spriteView.showsFPS = true
        view.addSubview(spriteView)
    }
}

关于ios - SKView 未在单 View 应用程序中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33090513/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4