How to change navigationBar height in iOS 11?

Apparently changing the navigationBar height faced a new approach in iOS 11.
in previous iOS versions it was possible to change the navigationBar height by hiding the default navigationBar and adding a new one with custom frame:

self.navigationController?.setNavigationBarHidden(true, animated: false)
let customNavigationBar = UINavigationBar(frame: CGRect(x: 0, y: 0, width: self.view.bounds.width, height: 64))

But it seems that it is not working in iOS 11 xCode beta. no matter the what the new height is, it will always stay at 44.

  • Swift 4 - Notification Center addObserver issue
  • Testing ARKit without iPhone6s or newer
  • “'NSOffState' is unavailable in Swift”
  • Memory profiling doesn't work with Xcode 9
  • How to build Swift 3 project on Xcode 9?
  • How can I update swift from 3.1 to 3.2, but not to 4.0
  • this is what I’ve got in xCode 9:

    enter image description here

    does anyone knows how to solve the problem?

    2 Solutions Collect From Internet About “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 9
    enter image description here

    Xcode 8
    enter 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.

    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.