iOS的NavigationBar的barTintColor
2 min readMay 28, 2020
正常情況下要修改navigationBar的背景顏色,只要設定barTintColor就可以,但是當一跑下去就會發現好像哪裡怪怪的,顏色好像不太對呀,就像下面這樣
明明背景顏色和barTintColor的顏色是設定一樣的,但卻明顯不一樣,當然iPhone用久了大概猜的到是什麼導致的,就是iOS在NavigationBar上面還有進行一層模糊的渲染啦!
那要怎麼樣才能把那一層模糊給取消掉呢?
有兩個辦法,而且都超簡單,都只要一行就可以
方法一:
直接設定一個空的UIImage到navigationBar的backgroundImage
override func viewDidLoad() { super.viewDidLoad() navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default) navigationController?.navigationBar.barTintColor = colorLiteral(red: 0, green: 0.4784313725, blue: 1, alpha: 1)}
方法二:
把navigationBar的半透明屬性改為false
override func viewDidLoad() {super.viewDidLoad() navigationController?.navigationBar.isTranslucent = false navigationController?.navigationBar.barTintColor = colorLiteral(red: 0, green: 0.4784313725, blue: 1, alpha: 1)}
效果: