2017-07-03 118 views
0

我需要删除UINavigationBar阴影图像。状态栏变得透明

UINavigationBar contained line

所以我用下面的代码:

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

它可以正常使用,但在状态栏后面的区域变得透明,像下面的图片:

transparent area behind status bar

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

在此先感谢。

回答

0

嗯,我找到了答案:

这只是网上的说法,即:

navigationController?.navigationBar.isTranslucent = false 

通过viewDidLoad加入这一点,开始工作,因为我想要的。 我从这篇文章得到了帮助https://stackoverflow.com/questions/38796259/remove-shadow-line-below-navigation-bar-without-removing-bar-color

1

出现这种情况的原因是导航栏没有指定的条形色调颜色。如果你想有一个酒吧色调颜色的导航栏,可以将其设置在IB检查或编程:

navigationController?.navigationBar.barTintColor = .white 
+0

不工作.. :( –

+0

@AbhishekMitra检查我的编辑答案。 – the4kman

+0

不工作或者.. –

0

你必须隐藏状态栏才能删除它。

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