视图不在状态栏下方并且状态栏为黑色

2024-03-04

我将导航栏隐藏在其中一个屏幕上,如果已设置:

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放在状态栏下方,并将状态栏图标/文本设置为白色。我做错了什么?


你没有做任何“错误”的事情。您已将图像视图的顶部设置为视图控制器顶部布局指南的底部。嗯,这就是状态栏的底部 - 正是您看到图像视图顶部的位置。

如果您希望图像视图与状态栏重叠,则其顶部需要固定到主视图的顶部,而不是顶部布局指南。

而如果你想让状态栏改变文字颜色,你需要实现preferredStatusBarStyle回来.LightContent。如果这意味着结果preferredStatusBarStyle已更改,您需要致电setNeedsStatusBarAppearanceUpdate提醒运行时这一事实。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

视图不在状态栏下方并且状态栏为黑色 的相关文章

随机推荐