Swift 设置导航栏透明

Swift 设置导航栏透明,就是设置一张空的图片,但如果只设置这一句代码,并不起作用,还需要其他设置,直接上代码

    // 1.设置导航栏标题属性:设置标题颜色
    self.navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName:UIColor.white]
    // 2.设置导航栏前景色:设置item指示色
    self.navigationController?.navigationBar.tintColor = UIColor.purple
    
    // 3.设置导航栏半透明
    self.navigationController?.navigationBar.isTranslucent = true
    
    // 4.设置导航栏背景图片
    self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
    
    // 5.设置导航栏阴影图片
    self.navigationController?.navigationBar.shadowImage = UIImage()

另一种方法:
我测试没有成功,可能我用法不对:
1:标题栏的修改
//去掉NavigationBar的背景和横线
navigationController?.navigationBar.subviews[0].removeFromSuperview()

2:导航栏的修改
if let views = tabBarController?.tabBar.subviews {
views[views.count - 1].removeFromSuperview() //去掉TabBar中的横线
views[0].removeFromSuperview() //去掉TabBar中的背景
}
注意: NavigationBar的 横线和背景都属于一个UIImageView, 而TabBar的横线和背景属于二个不同的UIImageView, 所以…

网上有一种使用透明图片的方法设置, 和设置空背景的方法. 但是很low,有没有?

navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default) //会有黑线

你可能感兴趣的:(Swift 设置导航栏透明)