我的应用程序设置在根视图控制器使用UIViewController containment来显示应用程序的主要内容的位置(如果您有side menu in your app,这很常见)。我使用自动布局通过故事板创建了这个视图控制器。
每当我的状态栏被隐藏然后显示时(例如,当我在我的应用中查看YouTube视频时),导航栏显得太高(好像状态栏报告其高度是实际的两倍)是)。
看起来类似于以下内容:
为什么会发生这种情况,我该如何解决?
答案 0 :(得分:0)
问题是我将UIContainerView与顶部版面指南的底部对齐。如果您将要约束的约束切换到Superview的顶部,或者转到顶部布局指南的顶部,则应该在iOS 7和8中都能获得正确的行为。
作为参考,以下是尝试对齐不同对象时会发生的情况:
+-------------------------+-----+------------+-----------------+
| Aligned To | iOS | Visibility | Result (Image) |
+-------------------------+-----+------------+-----------------+
| Superview.Top | * | * | Correct (1 & 2) |
| Top Layout Guide.Top | * | * | Correct (1 & 2) |
| Top Layout Guide.Bottom | 7 | Hidden | Bug (3) |
| Top Layout Guide.Bottom | 7 | Visible | Bug (4 or 5) |
| Top Layout Guide.Bottom | 8 | Hidden | Correct (1) |
| Top Layout Guide.Bottom | 8 | Visible | Bug (4 or 5) |
+-------------------------+-----+------------+-----------------+
注意: iOS 列中的*
是指iOS 7和8. 可见性列中的*
是指隐藏和可见。
(状态栏有白色背景,但高度正确。这似乎只在应用程序启动时第一次出现并显示状态栏。隐藏并再次显示状态栏后,它看起来像# 4。)