故事板无法在Xcode9中找到SKView?

时间:2017-10-15 17:23:24

标签: sprite-kit storyboard xcode9 skview

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

当然,你需要一个SKView来保持"一个.sks。

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

但是,在X9 中,您只需在故事板中添加SKView

然后只需在Attributes inspect ....中选择.sks文件。

enter image description here

但是

它不起作用。我刚收到这个错误:

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

问题是什么?

SpriteKit.framework包含在Link Binary ......

可能是什么原因?

第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点 - 正如Knight所要求的那样。如果您"只需将常规UIView和自定义类放到SKView" - 当然,你没有得到任何"自定义控件"为了上课。 (就像你说自定义类是UILabel的普通UIView一样 - 它不会像#34;故事板中的UILabel一样工作。)

第3点 - 奈特似乎已经击中了头部,确实错误中提到的类是" Xcode.IDEInterfaceBuilder ...."到底是什么?

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

2 个答案:

答案 0 :(得分:1)

我刚刚复制了你的错误。问题似乎与部署目标有关。如果我部署到iOS 9.0,我会收到您的错误,如果我将部署目标增加到iOS 10,则错误消失。我想故事板只支持它。

编辑:

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

https://github.com/seriouscyrus/SCSpriteKitStoryboard

在Master分支中,部署目标是9.0,当您尝试构建时,您会收到错误,在iOS10Deployment分支中它已修复。无需重新启动任何内容。

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

答案 1 :(得分:0)

是不是您没有将Spritekit导入拥有该视图的视图控制器?这需要使用GLKit视图完成,即使您链接库也是如此。

(至少在obj-c中)