【问题标题】:How To Avoid iOS Blue Location NavigationBar Messing Up My StatusBar?如何避免 iOS 蓝色位置导航栏弄乱我的状态栏?
【发布时间】:2017-09-11 14:04:33
【问题描述】:

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

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

【问题讨论】:

标签: ios xcode


【解决方案1】:

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

  • 状态栏是透明的。

  • 你的视图控制器的主视图应该underlap状态栏;它应该是全屏的。

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

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

【讨论】:

  • 谢谢,马特。当然,自从我在 iOS 开始我的职业生涯以来,我一直在使用自动布局。无论如何,从这个答案中帮助我的是In-call status bar 的想法。我有另一个项目(所有 UI 都是以编程方式制作的(它确实可以完美地处理我在状态栏中所做的任何事情,例如切换通话状态栏、位置和热点。我不知道为什么这个特定的应用程序(使用故事板)可以) t 正确处理状态栏的变化。
  • 非常酷。我从骨子里觉得我的清单涵盖了问题,但如果没有,如果你在弄清楚时给出自己的答案会很棒。顺便说一句,您可以使用 View Debugger 找出为什么您的视图会按原样定位。
  • 好的。所以到目前为止我所做的是测试我过去的项目,他们通过 iOS 的调用/热点/位置来处理状态栏/导航栏的变化。我认为它在我正在使用的名为CosmicMind's Material 的库中,或者它在故事板配置中。谢谢。我会选择这个作为答案,或者如果这些都不是解决方案,我会分享一个。
  • 嗨,马特,几天后我已经解决了这个问题。 :) stackoverflow.com/a/46203868/3231194 ...我选择此作为答案,以感谢您的努力,哈哈。我认为您可以编辑您的答案并将此问题告知未来的访问者,以检查他们如何展示他们的屏幕。
  • 嗯,我的回答是对的:你的视图控制器应该是全屏的。这不就是问题所在吗?
猜你喜欢
  • 2016-03-27
  • 1970-01-01
  • 2017-03-26
  • 2014-05-26
  • 1970-01-01
  • 2019-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多