Zugriff Ich habe eine UIVieweine UIView von SKScene
@IBOutlet weak var whiteBox: UIView!
in meiner UIViewController Klasse. Gibt es eine Möglichkeit, von meiner SKScene-Klasse darauf zuzugreifen?
Zugriff Ich habe eine UIVieweine UIView von SKScene
@IBOutlet weak var whiteBox: UIView!
in meiner UIViewController Klasse. Gibt es eine Möglichkeit, von meiner SKScene-Klasse darauf zuzugreifen?
Im SKScene
fügen diese initializers (unter der Annahme, dass Ihr UIViewController
GameViewController
genannt wird)
var viewController: GameViewController
init(size: CGSize, parent: GameViewController) {
self.viewController = parent
super.init(size: size)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
Und in Ihrem GameViewController
ersetzen Sie den aktuellen GameScene
initializer mit diesem (unter der Annahme, dass Ihr SKScene
GameScene
genannt wird)
let scene = GameScene(size: (self.view?.bounds.size)!, parent: self)
Um auf die UIView
zuzugreifen, verwenden Sie diese:
viewController.whiteBox
Hoffe, das hilft!
Zunächst einmal, vielen Dank für die Hilfe! –
für den 'self.viewController = parent' Teil, bekomme ich eine Fehlermeldung "Wert des Typs GameScene hat kein Mitglied 'viewController'", eine Möglichkeit, das zu beheben? –
Fügen Sie einfach diese Zeile 'var viewController: GameViewContoller' –
Ist die Szene in einem 'SKView'? Wenn ja, wie ist die Beziehung zwischen dem 'SKView' und dem View-Controller? Befindet sich die 'SKView' in der View-Hierarchie des View-Controllers oder außerhalb davon? –