xcode - SceneKit SCNLookAtConstraint 无法重载 init

标签 xcode swift scenekit

sceneKit 的示例项目中,我试图让相机看向我从中心偏移的船对象。但出于某种原因,我无法做到这一点。

我使用下面的代码来查看这艘船。但它仍然给出错误:

Could not find an overload for init.

我正在使用 swift 进行编码。

cameraNode.constraints = SCNLookAtConstraint(ship)

请帮忙。谢谢。

最佳答案

我在自动完成中看到以下内容,看起来很有希望:

SCNLookAtConstraint(target:)

这是 ObjC 工厂方法 +lookAtConstraintWithTarget: 的 Swift 形式。

通常,有三种简单的方法可以找出 ObjC 工厂方法(如 +[NSFoo fooWithBar:])如何转换为 Swift 初始化程序(如 init(bar:) ,您使用语法 NSFoo(bar: heresABar) 调用它:

  • 在 Swift 文件中输入类名,打开括号,自动完成应该会显示可接受的初始化程序集
  • 将类名键入 Swift 文件并按住命令键单击它以查看为该类自动生成的 Swift 接口(interface)(基于 ObjC header ),包括初始化程序声明
  • 查看 documentation for a class在线或在 Xcode 中,您将看到每个 API 的 ObjC 和 Swift 声明。

关于xcode - SceneKit SCNLookAtConstraint 无法重载 init,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26783072/

相关文章:

ios - 为什么背景颜色在 Xcode 中为橙色而在模拟器中为白色

ios - 即使在 player.status == .readyToPlay 之后,AVPlayerItem.duration 仍返回 NaN

swift - FirebaseStorageUI + sdwebimage

xcode - 为什么应用程序在iPhone模拟器中崩溃?我怎样才能解决这个问题?

xcode - 缺少 iOS 发行版签名身份

ios - 如何在 SceneKit 中添加带有类的基元

swift - SceneKit Cocoa快照声明失败

ios - 给SCNNode添加CIFilter让节点变成白盒

iphone - 如何检测 uisegmentedcontrol 上的触摸 - 即使在选定的段上?

ios - UIView.animateKeyframesWithDuration 内的 UIView.transitionWithView 未按预期工作