sprite-kit - Storyboard 在 Xcode9 中找不到 SKView?

标签 sprite-kit storyboard xcode9 skview

我在 Xcode9 中有一个普通的 .sks 文件,TestScene.sks。

当然,你需要一个 SKView 来“保存”一个 .sks。

如果我手动构建 SKView 在代码中 以通常的方式它工作正常。 (我在这篇文章的底部包含了一个方便的例子。)

然而,在 X9 您可以简单地在 Storyboard中添加一个 SKView .

然后只需在属性检查中选择 .sks 文件....

enter image description here

但。

这是行不通的。我刚收到这个错误:

Main.storyboard: Class Unavailable Xcode.IDEInterfaceBuilder.CocoaTouch.SKView

可能是什么问题?

SpriteKit.framework 包含在 Link Binary ...

可能是什么原因?

Point 1:记录一下,如何手动添加代码:
func manuallyAddSceneInCode() {

    let sk: SKView = SKView()
    sk.frame = view.bounds
    sk.backgroundColor = .clear
    view.addSubview(sk)

    let scene = SKScene(fileNamed: "TestScene")!
    scene.scaleMode = .aspectFit
    scene.backgroundColor = .clear

    sk.presentScene(scene)
}

第 2 点 - 正如奈特在下面询问的那样。如果您“只是将常规 UIView 和自定义类放到 SKView 中” - 当然,您将不会获得该类的任何“自定义控件”。 (就像你说自定义类是一个普通的 UIView 到 UILabel - 它不像 Storyboard中的 UILabel 那样“工作”。)

第 3 点 - Knight 似乎在头上一针见血,确实错误中提到的类是“Xcode.IDEInterfaceBuilder ....”那到底是什么?

第 4 点,我刚刚在 9.0.1 中尝试过,同样的问题。

最佳答案

我只是复制了你的错误。问题似乎与部署目标有关。如果我部署到 iOS 9.0,我会收到你的错误,如果我将部署目标增加到 iOS 10,错误就会消失。我猜 Storyboard只支持它那么远。

编辑:

我上传了我的演示项目,您可以查看:

https://github.com/seriouscyrus/SCSpriteKitStoryboard

在 Master 分支中,部署目标是 9.0 并且在尝试构建时出现错误,在 iOS10Deployment 分支中它已修复。无需重新启动任何东西。

此外,我的错误提供了更多信息,“iOS 10.0 之前的 SKView(NSCoding 在以前的版本中已损坏”。

关于sprite-kit - Storyboard 在 Xcode9 中找不到 SKView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46757857/

相关文章:

ios - 尝试使用 textureWithRect inTexture 仅使用 SKTexture 的一部分

swift - 如何在我的 Scenekit.scene 之上创建一个 HUD

ios - 游戏设计+快速协调跨场景功能

swift - 在不同的 Storyboard上打开一个新窗口

ios - 测试飞行 2.0.0 : "MyApp" isn't compatible with this device

ios - Xcode,目标类模板缺少SKScene的子类

ios - 使用自动布局支持以编程方式更改 UITableView 位置

ios - 使用 IB_DESIGNABLE obj-c 扩展类

ios11 - Swift 4 按钮淡入、淡出

iOS 11 在带有静态单元格的 UITableViewController 中与 tableview 相比有 20 点差距