去掉NavigationViewController没有模糊状态
2017-06-28 本文已影响10人
半杯故事
最近项目完成,写一下东西,需要NavigationViewController和ViewController颜色一样相连,但是在设置一样的颜色后,NavigationViewController下边有一条烦人的线,如:
![](https://img.haomeiwen.com/i1300292/b22ee8e6315104dd.png)
在看一下,这条线到底在哪
![](https://img.haomeiwen.com/i1300292/e42f6bc65fe11411.png)
我的天竟然在最上边
知道它在哪,我们就可以解决掉它
override func viewDidLoad() {
super.viewDidLoad()
//UINavigationController中的代码
// Do any additional setup after loading the view.
self.navigationBar.shadowImage = UIImage()
//关闭导航栏的模糊属性
self.navigationBar.isTranslucent = false
self.navigationBar.barTintColor = .yellow
}
//UIViewController中的代码
override func viewWillAppear(_ animated: Bool) {
//获取到navigationBar上的第一层view
let backView = self.navigationController?.navigationBar.subviews.first
//在view上获取到这第一条线
let line = (backView?.subviews.first)!
line.isHidden = true//隐藏它
}
看一下效果:
![](https://img.haomeiwen.com/i1300292/45e57047b4c766be.png)