Min*_*ina 24 uinavigationbar ios swift ios11 xcode9
显然,改变的导航栏高度在以前的IOS版本,有可能通过隐藏默认的导航栏,添加一个新的自定义框架改变的导航栏高度面临着一种新的方法在iOS的11:
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)
Run Code Online (Sandbox Code Playgroud)
但它似乎无法在iOS 11 xCode beta中运行.无论新高度是多少,它都会保持在44.
这就是我在xCode 9中得到的:
有谁知道如何解决这个问题?
Ras*_*n L 12
你的代码运行正常,它没有错.如果你改变你的背景颜色,你customNavigationBar会看到你的导航栏会有所需的高度.但似乎Xcode 9隐藏默认导航栏是一个问题.
正如您在Xcode 9图像中看到的那样,您有自定义导航栏,但默认导航栏不会隐藏.可能是Xcode 9中的一个错误,我也无法通过Storyboard隐藏它.
这似乎是Xcode 9中的一个错误,错误报告已经提交给Apple.
Ame*_*are 12
在Apple修复bug之前,这更像是一个黑客攻击.我遇到了同样的问题,所以我将导航栏的顶部约束从0更改为20.
如果您的UINavigationBar backgroundColor不是白色,这将使状态栏保持白色.您可以通过在特定的UIViewController中添加以下内容来解决此问题.
let statusBarView = UIView(frame: UIApplication.shared.statusBarFrame)
let statusBarColor = UIColor.red
statusBarView.backgroundColor = statusBarColor
view.addSubview(statusBarView)
Run Code Online (Sandbox Code Playgroud)
这似乎是一个冗长的黑客攻击,但仍然比使用Xcode 8.3返回和编译更好.
| 归档时间: |
|
| 查看次数: |
15741 次 |
| 最近记录: |