2015-02-09 10 views
11

Ich habe folgenden Storyboard Segue in meinem Swift Projekt:Swift: Kraft zeigt Navigationsleiste in Modal

enter image description here

Die Animation ist richtig, aber es gibt keine Navigationsleiste in den Ziel-View-Controller. Ich möchte erzwingen, dass der Zielansicht-Controller eine Navigationsleiste hat. Ich habe versucht, in dem Ziel-View-Controller:

override func viewWillAppear(animated: Bool) { 
    super.viewWillAppear(true) 
    navigationController?.navigationBar.hidden = false 
} 

Oder:

override func viewWillAppear(animated: Bool) { 
    self.navigationController?.setNavigationBarHidden(false, animated: true) 
} 

Aber es lehnt jede Navigationsleiste zu zeigen.

Wie kann ich einen vertikalen Übergang (wie "Cover Vertical") ausführen, aber im Zielansicht-Controller immer noch eine durchscheinende Navigationsleiste anzeigen?

Edit: Meine Attribute Inspektor für das Ziel-View-Controller:

enter image description here

+1

Ist Ihr Ziel-Controller in einem Navigationssteuerung eingebettet? Ist der Navigationscontroller oder der View-Controller Ihr Nachfolger? –

+1

(Ist 'self.navigationController'' nil'?) –

+0

'println (self.navigationController)' in meiner Zielansicht Controller druckt: 'Optional ()' - meine ursprüngliche View-Controller ist in einem Navigationscontroller eingebettet . –

Antwort

23

Versuchen Sie, die Segue auf eine Navigation Controller statt Ihrer View-Controller zu erstellen. Navigationsleisten werden nur für View-Controller in einem Navigations-Stack angezeigt. In Ihrem Fall scheint sich der Quellansichts-Controller in einem Navigations-Stack zu befinden, aber nicht der vorgestellte View-Controller. Probieren Sie etwas wie folgt aus:

enter image description here

+0

Ich werde das sofort versuchen. Vielen Dank fz.! –

+0

Das hat super funktioniert, danke! –

+2

es ist verrückt, aber es funktioniert) danke. Es ist seltsam, ich hatte eine ähnliche Struktur ohne diesen Zwischennavigationscontroller in einem meiner früheren Projekte und es funktioniert dort. Ich meine, es zeigt standardmäßig die Navigationsleiste – heximal