视图不在状态栏下方且状态栏为黑色
View doesn't go under status bar and status bar is black
我正在隐藏其中一个屏幕上的导航栏,如果已设置:
navigationController?.navigationBarHidden = true
状态栏变黑。此外,图像不适合所有屏幕(请参见屏幕截图)。
如果我评论这一行,导航栏停留在屏幕上,状态栏是白色的。
完整代码:
override func viewWillAppear(animated: Bool) {
navigationController?.navigationBarHidden = true
navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)
navigationController?.navigationBar.translucent = true
navigationController?.navigationBar.backgroundColor = UIColor.clearColor()
navigationController?.view.backgroundColor = UIColor.clearColor()
ImageView 的所有约束都设置为 0 并设置为填满屏幕:
所以,我想把ImageView放到状态栏下面,让状态栏icons/text变成白色。我做错了什么?
你什么都没做"wrong"。您已将图像视图的顶部设置为视图控制器顶部布局指南的底部。嗯,这是状态栏的底部 — 正是您看到图像视图顶部的位置。
如果您希望图像视图在状态栏下方,其顶部需要固定到主视图的顶部,而不是顶部布局指南。
而如果你想让状态栏改变文字颜色,你需要实现preferredStatusBarStyle
到return.LightContent
。如果这意味着 preferredStatusBarStyle
的结果已经改变,您需要调用 setNeedsStatusBarAppearanceUpdate
来提醒运行时这个事实。
要将图像视图放在状态栏下方,并让图像视图填充 UIViewControllers 视图:
- 清除图像视图的所有约束
- 添加约束以将图像视图设置为与父视图具有相同的宽度
- 添加约束以将图像视图设置为与父视图具有相同的高度
- 将图像视图固定到最近的邻居,如下所示。添加约束
- 最终约束将如下所示:
我正在隐藏其中一个屏幕上的导航栏,如果已设置:
navigationController?.navigationBarHidden = true
状态栏变黑。此外,图像不适合所有屏幕(请参见屏幕截图)。 如果我评论这一行,导航栏停留在屏幕上,状态栏是白色的。
完整代码:
override func viewWillAppear(animated: Bool) {
navigationController?.navigationBarHidden = true
navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)
navigationController?.navigationBar.translucent = true
navigationController?.navigationBar.backgroundColor = UIColor.clearColor()
navigationController?.view.backgroundColor = UIColor.clearColor()
ImageView 的所有约束都设置为 0 并设置为填满屏幕:
所以,我想把ImageView放到状态栏下面,让状态栏icons/text变成白色。我做错了什么?
你什么都没做"wrong"。您已将图像视图的顶部设置为视图控制器顶部布局指南的底部。嗯,这是状态栏的底部 — 正是您看到图像视图顶部的位置。
如果您希望图像视图在状态栏下方,其顶部需要固定到主视图的顶部,而不是顶部布局指南。
而如果你想让状态栏改变文字颜色,你需要实现preferredStatusBarStyle
到return.LightContent
。如果这意味着 preferredStatusBarStyle
的结果已经改变,您需要调用 setNeedsStatusBarAppearanceUpdate
来提醒运行时这个事实。
要将图像视图放在状态栏下方,并让图像视图填充 UIViewControllers 视图:
- 清除图像视图的所有约束
- 添加约束以将图像视图设置为与父视图具有相同的宽度
- 添加约束以将图像视图设置为与父视图具有相同的高度
- 将图像视图固定到最近的邻居,如下所示。添加约束
- 最终约束将如下所示: