2016-06-21 2 views
0

J'ai un UINavigationBar que j'ai placé dans un UIViewController dans le StoryBoard et créé un IBOutlet pour cela dans le fichier viewController. Je présente un SKScene dans viewController et je veux accéder à la barre de navigation dans le SKScene pour obtenir sa hauteur. Est-il possible d'accéder à la barre de navigation dans le SKScene?Comment accéder au NavigationBar depuis un SKScene?

J'aurais pensé que la vue "window" montrerait le navigationBar comme une sous-vue, mais ce n'est pas le cas.

Des idées?

Répondre

0

Comme indiqué dans ce fil:

How to reference a view controller from a view

Vous ne devriez pas être référence à un contrôleur de vue d'une vue. Il est facile d'obtenir la vue avec

mySkscene.view 

qui retourne le skview qui présente votre scène. À partir de là, comme indiqué dans le thread, vous pouvez passer le contrôleur de vue en tant que délégué (que vous créez).

Ma suggestion est de créer un IBOutlet pour la barre de navigation et de passer la hauteur à votre skscene. Mieux encore, créez une vue particulière dans votre storyboard qui utilise topLayoutBar pour le dimensionnement, puis utilisez cette vue pour présenter votre scène. Assurez-vous d'obtenir la taille de cette vue dans la méthode viewDidLayoutSubviews de votre viewController.