我在Xcode9中有一个普通的.sks文件,即TestScene.sks。
当然,您需要一个SKView来“保存” .sks。
如果我以通常的方式用代码手动构造SKView ,则可以正常工作。(我在这篇文章的底部提供了一个方便的示例。)
但是,在X9中,您只需在Storyboard中添加SKView即可。
然后只需在“属性”检查中选择.sks文件即可。
但。
这没用。我刚得到这个错误:
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)
}
第二点-骑士在下面问。如果您“只是将常规的UIView并将其自定义类放到SKView中”-当然,您将不会获得该类的任何“自定义控件”。(就像您将自定义类说成是UILabel的普通UIView一样-它不像故事板上的UILabel一样工作。)
第3点-Knight似乎打了一个钉子,错误中提到的类确实是“ Xcode.IDEInterfaceBuilder ....”,这到底是什么?
第4点,我刚在9.0.1中尝试过,同样的问题。
我只是复制了您的错误。该问题似乎与部署目标有关。如果我将其部署到iOS 9.0,则会收到您的错误消息;如果将部署目标增加到iOS 10,则该错误消失了。我猜故事板只支持到此为止。
编辑:
我上传了演示项目,您可以检查:
https://github.com/seriouscyrus/SCSpriteKitStoryboard
在Master分支中,部署目标是9.0,并且在尝试构建时收到错误,iOS10Deployment分支中的错误已修复。无需重启任何东西。
另外,我的错误提供了更多信息,“ iOS 10.0之前的SKView(NSCoding在先前版本中已损坏”)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句