gpt4 book ai didi

ios - 在 iOS 7 中,如果我使用 `prefersStatusBarHidden` 方法隐藏状态栏,导航栏会缩小/失去高度。我可以停止这种行为吗?

转载 作者:技术小花猫 更新时间:2023-10-29 10:49:59 24 4
gpt4 key购买 nike

在 iOS 7 上,如果我使用 prefersStatusBarHidden 方法并返回一个可以更改的实例变量:

- (BOOL)prefersStatusBarHidden {
return self.statusBarShouldBeHidden;
}

并且我更改了实例变量,从而隐藏了状态栏,导航栏失去了状态栏占据的 20pt 高度。但是,我不想要这个。是否可以隐藏状态栏但保持导航栏的高度

最佳答案

我在以下博文中找到了解决此问题的方法:http://www.factorialcomplexity.com/blog/2014/08/05/fixed-height-navigation-bar-on-ios7.html但他的解决方案在 UINavigationBar 上使用方法调配,我觉得这没有吸引力。

更新:

我发现子类化 UINavigationBar 并为 swizzled 解决方案提供类似的实现解决了这个问题(这里是 Swift,但在 Obj-C 中同样有效):

class MyNavigationBar: UINavigationBar {
override func sizeThatFits(size: CGSize) -> CGSize {
var size = super.sizeThatFits(size)
if UIApplication.sharedApplication().statusBarHidden {
size.height = 64
}
return size
}
}

然后在 Storyboard中更新导航栏的类,或者在构建导航 Controller 时使用 initWithNavigationBarClass:toolbarClass: 以使用新类。

关于ios - 在 iOS 7 中,如果我使用 `prefersStatusBarHidden` 方法隐藏状态栏,导航栏会缩小/失去高度。我可以停止这种行为吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20484381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com