2016-06-21 9 views
0

Ich habe eine UINavigationBar, die ich in einem UIViewController im StoryBoard platziert und ein IBOutlet dafür in der ViewController-Datei erstellt habe. Ich präsentiere eine SKScene innerhalb des ViewControllers und ich möchte auf die Navigationsleiste innerhalb der SKScene zugreifen, um ihre Höhe zu erhalten. Gibt es eine Möglichkeit, auf die Navigationsleiste innerhalb der SKScene zuzugreifen?Wie kann ich von einer SKScene auf die Navigationsleiste zugreifen?

Ich hätte gedacht, die "Fenster" -Ansicht würde die navigationBar als Unteransicht anzeigen, aber es nicht.

Irgendwelche Ideen?

Antwort

0

Wie bereits in diesem Thread aus:

How to reference a view controller from a view

Sie keinen View-Controller von einer Referenzierung Ansicht werden sollen. Es ist einfach, die Ansicht mit

mySkscene.view 

zu erhalten, die die skview zurückgibt, die Ihre Szene präsentiert. Von dort können Sie, wie im Thread angegeben, den View-Controller als Delegat übergeben (den Sie erstellen).

Mein Vorschlag ist es, ein IBOutlet für die Navigationsleiste zu erstellen und die Höhe an Ihre Skscene zu übergeben. Noch besser: Erstellen Sie eine bestimmte Ansicht in Ihrem Storyboard, die die topLayoutBar für die Größenanpassung verwendet, und verwenden Sie diese Ansicht, um Ihre Szene darzustellen. Stellen Sie sicher, dass Sie die Größe dieser Ansicht in der viewDidLayoutSubviews-Methode Ihrer viewController ermitteln.