How to change navigationBar height in iOS 11? How to change navigationBar height in iOS 11? swift swift

How to change navigationBar height in iOS 11?


Your code is working fine and it´s nothing wrong with it. If you change the background color of your customNavigationBar you´ll see that you´ll get the navigation bar with the desired height. But it seems like it´s an issue with Xcode 9 to hide the default navigation bar.

Your code with:

Xcode 9enter image description here

Xcode 8enter image description here

As you can see in the Xcode 9 image, you have the custom navigation bar but the default one does not hide. Probably a bug in Xcode 9, I did not manage to hide it through the Storyboard either.

This seems to be a bug in Xcode 9, bug reports has been filed to Apple.


This is more of a hack till Apple fixes the bug. I was facing the same issue, so I changed the top constraint of the navigation bar from 0 to 20.

Before:enter image description here

After:enter image description here

In case your UINavigationBar backgroundColor is something other than white, this will leave the status bar with a white color. You can fix this by adding the following in that particular UIViewController.

let statusBarView = UIView(frame: UIApplication.shared.statusBarFrame)let statusBarColor = UIColor.redstatusBarView.backgroundColor = statusBarColorview.addSubview(statusBarView)

Before:enter image description here

After:enter image description here

This seems like a lengthy hack, but still better than going back and compiling using Xcode 8.3.


The only way I could make it work was to delete the current custom Navigation Bar, and apply an embed UINavigationController to the UIViewController.Editor -> Embed In -> Navigation Controller.

On the new created Navigation Controller properties, on the Utilities (right side bar) menu 'Simulated Metrics' the 'Top Bar' attribute must be specified. In my case I needed the value: 'Opaque Navigation Bar'.

I also set the same value of 'Top Bar' on my UIViewController, just to make sure.

By doing that, a new 'Navigation Item' will be at your disposal, and you can re-add your Bar Button Items.

It's the best I could do while we wait for the Xcode 9 update to fix it.