2016-06-15 15 views
0

Ich entwickle gerade eine App auf iOS mit meist UIKit, es ist eine Informations- und Gesundheits-App, kein Spiel. Es ist für eine Firma, die Stühle herstellt, also planten wir, 3D-Modelle von jedem Stuhl in einer kleinen Ansicht hinzuzufügen.iOS Swift App SceneKit mit UINavigationController

Ich habe es geschafft, die 3D-Modelle als chair.dae zu importieren und mit einem SCNView anzuzeigen. Die komplette App wird mit Storyboard und Segues erstellt, kombiniert mit einem UINavigationController, so dass der Benutzer auf der Navigationsleiste hin und her gehen kann.

Jetzt ist das Problem, die Navigationsleiste auf jedem anderen ViewController funktioniert wie vorgesehen. Nur auf dem ViewController, dem SCNView hinzugefügt wurde, gibt es überhaupt keine Navigationsleiste. Ich benutzte einen normalen ViewController, fügte ein SCNView hinzu und verband es mit meiner Navigation mit einem Show Detail Segue.

Ein weiteres Problem ist, während die meisten Ansichten von der rechten Seite des Bildschirms gezogen, wenn ich wechsle, wird diese vom Boden gezogen und ersetzt alles

Gibt es eine Möglichkeit, es zu zwingen, eine Navigationsleiste zu zeigen, ? Ich habe versucht, mit folgenden, aber nichts ändern

navigationController?.navigationBar.hidden = false 

Antwort

0

, die für eine Detailansicht wie richtiges Verhalten klingt. Per Apples View Controller Programming Guide for iOS:

Diese segue zeigt den neuen Inhalt den showDetailViewController mit: Absender: Methode der Ziel-View-Controller. Dieser Abschnitt ist , der nur für View-Controller relevant ist, die in einem UISplitViewController-Objekt eingebettet sind. Mit diesem Übergang ersetzt ein geteilter Ansicht-Controller seinen zweiten untergeordneten Ansichts-Controller (den Detail-Controller) durch den neuen Inhalt. Die meisten anderen View-Controller präsentieren den neuen Inhalt modal.

(Hervorhebung hinzugefügt).

Warum nicht eine Show statt?

+0

Der eigentliche UITableViewController, der das Navigationsmenü enthält, befindet sich in einem ContainerView und mit dem Show-Segment gibt es nur eine kleine Ansicht, wie die Größe des ContainerView für jeden angeschlossenen ViewController. Mit dem Show Detail hatte ich wieder die normale Größe. –

+0

Ich habe es zu Testzwecken auf Show gestellt, es blieb auf die gleiche Weise, dann löschte ich das Segue vollständig, fügte ein neues Show-Segment hinzu und es funktionierte dann. Nur Problem jetzt, ich habe nur einen kleinen ViewController in meinem Interface Editor –

+0

Könnte ein Auto-Layout-Fehler sein, der nicht mit SceneKit verwandt ist. Tausche eine Vollfarben-UIView und poste Screenshots. –

Verwandte Themen