2015-11-02 65 views
1

我的佈局將UISearchController的搜索欄作爲我的表視圖標題的子視圖,以及其他自定義控件(按鈕等)。如何獲取UISearchBar的默認灰色

爲了使所有的控制報頭視圖內爲「融入」,我想設置頭部視圖的背景顏色以匹配搜索欄的(即,外周緣的淺灰色,輸入文本框的白色)。

我試過在viewDidLoad()查詢兩個搜索欄的backgroundColorbarTintColor性質,但都返回nil,我的頭視圖結束了白色

硬編碼的顏色(顏色拾取報告它是RGB (199, 199, 204),至少在模擬器上),但是這不是一個完美的解決方案,並會歇一天,當蘋果的外觀變化。

回答

2

搜索欄的背景實際上是一個圖像,所以你不能檢索它的背景顏色。然而,如果你只是想要它融入,那麼你可以改變imageView是透明的,並將背景顏色設置爲任何你想要的。 UIImageView被發現在這裏使用Xcode中的視圖調試器。

在雨燕2.0

(searchBar.subviews[0].subviews[0] as! UIImageView).alpha = 0 
+0

感謝您的反饋意見。這回答了我的問題,但不幸的是,它不能解決我的問題:依靠搜索欄內部視圖佈局的私有實現很可能在未來破裂,因爲它很難編碼背景顏色。我想我必須選擇更小的邪惡...... –