【发布时间】:2017-08-01 20:16:36
【问题描述】:
我在SKView 中显示了SKScene。我想要一种将信息从场景发送到视图的方法,以便稍后与控制器一起使用。
例如,考虑让 View Controller 作为SKView 的代理,SKView 需要在其呈现场景的某个部分被点击时通知UIViewController。
【问题讨论】:
标签: ios swift sprite-kit uikit
我在SKView 中显示了SKScene。我想要一种将信息从场景发送到视图的方法,以便稍后与控制器一起使用。
例如,考虑让 View Controller 作为SKView 的代理,SKView 需要在其呈现场景的某个部分被点击时通知UIViewController。
【问题讨论】:
标签: ios swift sprite-kit uikit
SKScene 有一个方便的实例成员 .view 用于这种情况。要访问标准的SKView 方法和属性,您可以像这样使用它:
self.view?.addGestureRecognizer(pinchGestureRecognizer)
如果您的包含视图是 SKView 子类,您可以向下转换 .view 以访问自定义方法:
if let myView = self.view as? MyCustomViewClass {
myView.sceneWasTapped()
}
请记住,.view 是可选的;如果尚未将场景添加到视图中,它将为零。场景在添加到视图时会调用 didMove(to view: SKView),因此这是一个执行依赖于现有 .view 的事情的好地方。
【讨论】: