显然,更改 navigationBar 高度在 iOS 11 中面临着一种新方法。 在以前的 iOS 版本中,可以通过隐藏默认导航栏并添加带有自定义框架的新导航栏来更改导航栏高度:
self.navigationController?.setNavigationBarHidden(true, animated: false)
let customNavigationBar = UINavigationBar(frame: CGRect(x: 0, y: 0, width: self.view.bounds.width, height: 64))
self.view.addSubview(customNavigationBar)
但它似乎在 iOS 11 xCode beta 中不起作用。无论新的高度是多少,它始终保持在 44。
这是我在 xCode 9 中得到的:
有谁知道如何解决这个问题吗?
最佳答案
您的代码运行良好,没有任何问题。如果您更改 customNavigationBar
的背景颜色,您会看到您将获得具有所需高度的导航栏。但隐藏默认导航栏似乎是 Xcode 9 的一个问题。
如您在 Xcode 9 图像中所见,您拥有自定义导航栏,但默认导航栏并未隐藏。可能是 Xcode 9 中的一个错误,我也没有设法通过 Storyboard 隐藏它。
这似乎是 Xcode 9 中的错误,错误报告已提交给 Apple。
关于ios - 如何更改 iOS 11 中的导航栏高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46138245/