Apple 的蓝色警告栏与我的导航控制器的导航栏重叠
Apple's Blue Warning Bar overlaps the NavBar of my Navigation Controller
我在 UINavigationController 中设置了一个视图。蓝色警告栏显示在 NavigationController 的导航栏顶部。在我项目的另一部分中,我在 UITabController 中设置了另一个 UINavigationController。导航栏为蓝色警告栏提供了足够的空间,无需覆盖即可显示。
我错过了什么?如何防止 Blue Bar 覆盖 NavBar?
Blue Bar of Shame
我想通了!
实际情况如下:
我在导航控制器中有一个视图控制器。这个视图控制器包含一个“约会”列表。当用户点击“约会”时,应用程序会转到一个详细视图,该视图使用带有五个选项卡的选项卡栏控制器,每个选项卡都有自己的导航控制器。第一个选项卡有一个地址字段,允许用户通过点击它来启动导航应用程序(Apple Maps、Google Maps 或 Waze)。
打开导航应用程序后,如果用户 return 在导航应用程序仍处于打开状态时访问我的应用程序,并且他们没有提供适当的权限来禁止显示耻辱蓝条,那么蓝条Shame 显示在我的导航栏上方,这是应该的。如果他们随后点击后退按钮以关闭选项卡栏控制器并 return 到原始导航控制器,则 Blue Bar of Shame 将覆盖在导航栏的顶部。
我不确定这是否是 UIKit 的错误。
我为解决此问题所做的工作:
我更改了约会列表选择打开所选约会详细信息的方式。我正在使用一个简单的segue。出于某种原因,当从约会详细信息导航回约会列表视图时,约会列表视图的导航栏在显示耻辱蓝栏时未考虑展开的状态栏。我最终用约会详细信息选项卡栏控制器完全替换了显示约会列表的 rootView。转换回来时,我做同样的事情 - 用约会列表替换约会详细信息;这似乎缓解了渲染问题。
然后我为 UIWindow 创建了一个扩展来模拟 rootView 替换期间的默认导航样式转换。
我在 UINavigationController 中设置了一个视图。蓝色警告栏显示在 NavigationController 的导航栏顶部。在我项目的另一部分中,我在 UITabController 中设置了另一个 UINavigationController。导航栏为蓝色警告栏提供了足够的空间,无需覆盖即可显示。
我错过了什么?如何防止 Blue Bar 覆盖 NavBar? Blue Bar of Shame
我想通了!
实际情况如下:
我在导航控制器中有一个视图控制器。这个视图控制器包含一个“约会”列表。当用户点击“约会”时,应用程序会转到一个详细视图,该视图使用带有五个选项卡的选项卡栏控制器,每个选项卡都有自己的导航控制器。第一个选项卡有一个地址字段,允许用户通过点击它来启动导航应用程序(Apple Maps、Google Maps 或 Waze)。
打开导航应用程序后,如果用户 return 在导航应用程序仍处于打开状态时访问我的应用程序,并且他们没有提供适当的权限来禁止显示耻辱蓝条,那么蓝条Shame 显示在我的导航栏上方,这是应该的。如果他们随后点击后退按钮以关闭选项卡栏控制器并 return 到原始导航控制器,则 Blue Bar of Shame 将覆盖在导航栏的顶部。
我不确定这是否是 UIKit 的错误。
我为解决此问题所做的工作:
我更改了约会列表选择打开所选约会详细信息的方式。我正在使用一个简单的segue。出于某种原因,当从约会详细信息导航回约会列表视图时,约会列表视图的导航栏在显示耻辱蓝栏时未考虑展开的状态栏。我最终用约会详细信息选项卡栏控制器完全替换了显示约会列表的 rootView。转换回来时,我做同样的事情 - 用约会列表替换约会详细信息;这似乎缓解了渲染问题。
然后我为 UIWindow 创建了一个扩展来模拟 rootView 替换期间的默认导航样式转换。