iOS的NavigationBar的barTintColor

Henry Huang
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)}

效果:

--

--

Henry Huang
Henry Huang

Written by Henry Huang

大學讀企管/退伍後在業務圈打滾6年後突然有一天決定投入完全沒接觸過的程式設計/目前為一位iOS Developer/熱愛NBA/dafu1231@gmail.com

No responses yet