菜鸟教程小白 发表于 2022-12-12 09:15:46

ios - SKView 未在单 View 应用程序中显示


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

<blockquote>
<p>Terminating app due to uncaught exception &#39;NSUnknownKeyException&#39;,
reason: &#39;&#39;</p>
</blockquote>

<pre><code>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.
    }


}
</code></pre>

<p> <a href="/image/pOTW5.png" rel="noreferrer noopener nofollow"><img src="/image/pOTW5.png" alt="enter image description here"/></a> </p>

<p>我将如何解决这个问题?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>感谢您发布代码。</p>

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

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

<p>或者,您可以将 SKView 添加为 subview :</p>

<pre><code>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)
    }
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - SKView 未在单 View 应用程序中显示,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/33090513/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/33090513/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - SKView 未在单 View 应用程序中显示