状态栏变得透明

时间:2017-07-03 12:22:14

标签: ios iphone swift3 uinavigationbar

我需要移除UINavigationBar阴影图片。

UINavigationBar contained line

所以我使用下面的代码:

self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
self.navigationController?.navigationBar.shadowImage = UIImage()

它工作正常,但状态栏后面的区域变得透明,如下图所示:

transparent area behind status bar

我不需要这个。它应该是白色的。我该怎么办?任何帮助将不胜感激。

先谢谢。

3 个答案:

答案 0 :(得分:1)

这是因为导航栏没有指定的条纹色调。如果您想要一个带有条纹色调的导航栏,您可以在IB检查器中或以编程方式设置它:

navigationController?.navigationBar.barTintColor = .white

答案 1 :(得分:1)

我找到了答案:

这只是在线声明,即:

navigationController?.navigationBar.isTranslucent = false

通过在viewDidLoad中添加它,它开始按我的意愿工作。 我从这篇文章获得了帮助https://stackoverflow.com/questions/38796259/remove-shadow-line-below-navigation-bar-without-removing-bar-color

答案 2 :(得分:0)

您必须隐藏状态栏才能将其删除。

1.  Open Info.plist file
2.  Click + button to add new key
3.  "UIViewControllerBasedStatusBarAppearance" set to NO