2017-06-02 109 views
0

我有一個非常具體的問題。當我將背景barTintColor設置爲藍色時,太亮。我所做的任何事似乎都無法使其100%準確無誤。設置iOS導航背景顏色無法正常工作

所以我更改了代碼,將導航欄背景設置爲100%黑色。使用OS X應用程序SIP來分析顏色,或者只是將視圖設置爲黑色,很明顯顏色非常暗灰色,但不是黑色。

什麼是使色調的顏色擰起來?就目前而言,我需要的藍色和導航欄顯示的內容並不相同。

navigationController?.navigationBar.setBackgroundImage(UIImage.imageFromColor(UIColor.black), for: .default) 
    navigationController?.navigationBar.shadowImage = UIImage() 

    navigationController?.navigationBar.barStyle = .blackOpaque 
    navigationController?.navigationBar.isOpaque = true 
    navigationController?.navigationBar.barTintColor = UIColor.black 

還在一個空白項目中,新鮮,同樣的問題。

+0

您是否嘗試將'navigationBar.isOpaque'設置爲'true'? –

+0

我做了同樣的結果。從字面上看沒有變化。我更新了示例代碼。同樣在一個空白的項目中,新鮮的,同樣的問題。 –

+0

看起來,導航欄包含模糊,這就是爲什麼你不能得到你想要的顏色的原因。創建一個自定義導航欄,它一直是我的解決方案。 –

回答

0

關鍵是將isTranslucent設置爲false

let navigationBar = navigationController?.navigationBar 
navigationBar?.barTintColor = .black 
navigationBar?.isTranslucent = false 
+0

聖潔的廢話,謝謝。這是半透明的設置。從字面上爬過來試圖找到這個答案。做得好。 –