一尘不染

如何在iOS 11中更改NavigationBar的高度?

swift

显然,更改NavigationBar的高度在iOS 11
中面临着一种新方法。在以前的iOS版本中,可以通过
隐藏默认navigationBar并添加带有自定义框架的新控件来更改navigationBar的高度:

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。

有谁知道如何解决这个问题?


阅读 701

收藏
2020-07-07

共1个答案

一尘不染

您的代码运行良好,没有错。如果更改
背景色,则会customNavigationBar看到
导航栏具有所需的高度。但是,似乎
Xcode 9 的问题在于隐藏默认的导航栏。

如您在Xcode 9图像中所见,您具有自定义导航栏,但
默认导航栏没有隐藏。可能是Xcode 9中的一个错误,我也没有设法
通过Storyboard隐藏它。

这似乎是Xcode 9中的错误,错误报告已提交给Apple。

2020-07-07