ios - 如何避免 iOS Blue Location NavigationBar 弄乱我的 StatusBar?

标签 ios xcode

iOS 有一项功能(我同时使用 iOS 10 和 11)当您使用基于位置的应用程序时,比如 Waze,并且您将该应用程序放在后台,将会有一个蓝色的导航栏,上面有一个蓝色的状态栏背景显示 Waze 当前正在使用您的位置。然后打开您自己的项目并关闭 Waze,就会发生这种情况。

enter image description here

知道如何解决这个问题吗?我猜 AppDelegate 中有一些配置。使您的项目处于事件状态时要设置的东西。我在我的其他项目中尝试了相同的步骤,但我不知道为什么其他项目处理得更好一些。另一个项目有一个可读的状态栏,但背景颜色不同,仍然很乱,但比照片中的这个项目要好。

最佳答案

这就是您的应用应该如何工作:

  • 状态栏是透明的。

  • 您的 View Controller 的主视图应该重叠状态栏;它应该是全屏的。

  • 您的 View 应该使用自动布局来响应顶部栏的大小变化(它们应该固定到顶部布局指南,或者在 iOS 11 中,安全区域的顶部)。

您没有正确执行此操作,因此当状态栏大小因位置管理器栏而发生变化时,您的应用程序无法正常运行。您可能在打入电话时遇到同样的问题。您可以通过选择“切换通话中状态栏”在模拟器中轻松进行测试。

关于ios - 如何避免 iOS Blue Location NavigationBar 弄乱我的 StatusBar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46157634/

相关文章:

ios - 在 iOS 上以微秒为单位测量时间

iOS 10 打开设置崩溃

ios - 将 SensibleTableView (STV) 的静态库与 cocoapods 一起使用

Xcode 卡在索引上

ios - 当从 iOS 中的另一个 Storyboard场景调用 viewController 时, TableView 变得空白(加载或重建)

iOS - UIView 描述框架与调试器递归描述框架不匹配

ios - 如何使 UITableView 看起来像这样

ios - 带有远程配置的 Firebase A/B 测试不适用于 iOS 上的特定版本

iphone - 如何在 iOS 中将 "2012-12-26"之类的日期转换为 "december 26, 2012"?

ios - 忽略文件,文件 .../Social.framework/Social(3 片)中缺少所需的架构 x86_64