Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Swift: Force show Navigation Bar in Modal

I have the following Storyboard Segue in my Swift project:

enter image description here

The animation is correct, but there is no navigation bar in the destination view controller. I want to force the destination view controller to have a navigation bar. I tried in the destination view controller:

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

Or:

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

But it refuses to show any navigation bar.

How can I perform a vertical segue (like "Cover Vertical") but still display a translucent Navigation bar in the destination view controller?

Edit: My Attributes inspector for the destination view controller:

enter image description here

like image 464
Camillo Avatar asked Feb 09 '15 00:02

Camillo


1 Answers

Try to create the Segue to a Navigation controller instead of your view controller. Navigation bars are only shown for view controllers in a navigation stack. In your case, the source view controller seems to be in a navigation stack but not the presented view controller. Try something like this:

enter image description here

like image 115
fz. Avatar answered Oct 10 '22 14:10

fz.