ios - NavBar 在 iOS 13 Swift 中与状态栏重叠

标签 ios swift

在某些设备中,如 iPhone 7 和 8,导航栏在导航后与状态栏重叠,父 View Controller 隐藏了状态栏,但我分别在 viewWillAppear 和 viewWillDisappear 中显示和隐藏它。我在 iOS 12 中进行了测试,它可以正常工作。

我正在使用 prefersStatusBarHidden 来隐藏状态栏。

这里是图片 Navbar Overlaps Status bar

更新: 这里有一个示例项目:https://github.com/FranklinSamboni/NavBarTestSwfit . 它在 iOS 12 中运行良好,但在 iOS 13 中导航栏与 iPhone 7,8 中的状态栏重叠

使用 iPhone 8(模拟器)的图像 Home 第二种观点 Second View

最佳答案

好吧,我要给出那些空泛的答案之一。

  • 一方面,您肯定发现了 iOS 13 中的一个新行为。当您隐藏状态栏时,导航栏会缩小。您可以将此称为 iOS 13 中的错误...

  • 另一方面,也有人认为您的做法是错误的。如果你有导航栏,你已经不能在没有边框的设备(iPhone X 等)上隐藏状态栏,现在 Apple 似乎假设如果你有导航栏你就赢了'隐藏状态栏完全。这是一个合理的假设,因为当有导航栏时,纵向隐藏状态栏是没有意义的,尤其是在导航 Controller 的某些子项中而不是其他子项中。

所以您可以就此提交错误报告,但我认为您不会从中得到任何乐趣。苹果可能会回答说这是有意为之,或者至少是他们不想支持的事情的结果。你有一个导航栏;允许显示状态栏。

关于ios - NavBar 在 iOS 13 Swift 中与状态栏重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58633830/

相关文章:

iphone - 通过域名屏蔽 UIWebView 中的图片

ios - 只使用 CLImageEditor 中的一个工具

arrays - 你能有一个在索引 0 处没有元素的数组吗

仅使用 Xcode 6.0.1 在 iOS 7 上 iOS 应用程序崩溃 - 无法识别的选择器发送到实例

ios - 通过滑动显示单个单元格的 UICollectionView 来触发函数

ios - 添加标签栏 Controller 时如何防止 subview 被切断?

ios - 使用 Xcode 7.0.1 升级 El Capitan 后出现 Alamofire Domain=NSPOSIXErrorDomain Code=2 错误

Swift ENUM 如何将 "rawValue"转换回枚举大小写?

ios - 在 Assets 库中播放音频

ios - UIButton 在第一次运行时工作正常,但在模拟器上第二次运行时不起作用