去掉NavigationViewController没有模糊状态后下边的线

最近项目完成,写一下东西,需要NavigationViewController和ViewController颜色一样相连,但是在设置一样的颜色后,NavigationViewController下边有一条烦人的线,如:

去掉NavigationViewController没有模糊状态后下边的线_第1张图片
屏幕快照 2017-06-28 下午2.25.34.png

在看一下,这条线到底在哪

去掉NavigationViewController没有模糊状态后下边的线_第2张图片
屏幕快照 2017-06-28 下午2.28.44.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//隐藏它
    }

看一下效果:

去掉NavigationViewController没有模糊状态后下边的线_第3张图片
屏幕快照 2017-06-28 下午2.45.24.png

你可能感兴趣的:(去掉NavigationViewController没有模糊状态后下边的线)