Ios SKScene如何与其容器SKView通信?
我有一个Ios SKScene如何与其容器SKView通信?,ios,swift,sprite-kit,uikit,Ios,Swift,Sprite Kit,Uikit,我有一个SKView中显示的SKScene。我想要一种将信息从场景发送到视图的方法,以便以后与控制器一起使用 例如,考虑将视图控制器作为 SkView < /C>的委托,并且 SkView 在其呈现的场景的某一部分被点击时,需要通知 UIViewController < /代码>。< /P> < P> SKScene < /代码>有一个方便的实例成员 .View < /C>。要访问标准的SKView方法和属性,您可以像这样使用它: self.view?.addGestureRecognizer
SKView
中显示的SKScene
。我想要一种将信息从场景发送到视图的方法,以便以后与控制器一起使用
例如,考虑将视图控制器作为<代码> SkView < /C>的委托,并且<代码> SkView <代码>在其呈现的场景的某一部分被点击时,需要通知<代码> UIViewController < /代码>。< /P> < P> <代码> SKScene < /代码>有一个方便的实例成员<代码> .View < /C>。要访问标准的
SKView
方法和属性,您可以像这样使用它:
self.view?.addGestureRecognizer(pinchGestureRecognizer)
如果包含视图是SKView
子类,则可以向下转换.view
以访问自定义方法:
if let myView = self.view as? MyCustomViewClass {
myView.sceneWasTapped()
}
请记住,
.view
是可选的;如果场景尚未添加到视图中,则该值将为零。将场景添加到视图时,场景会调用didMove(to view:SKView),因此这是一个很好的地方,可以根据现有的视图进行操作。完美!非常感谢!