我想用新的iOS 11大標題在新的導航欄中放置搜索欄。但是,搜索欄的顏色由iOS自動應用,我無法更改它。iOS 11 UISearchBar在UINavigationBar
if #available(iOS 11.0, *) {
let sc = UISearchController(searchResultsController: nil)
navigationItem.searchController = sc
navigationItem.hidesSearchBarWhenScrolling = false
}
搜索欄的深藍色背景,但我只是想將其更改爲白色。
設置背景顏色的結果是:
navigationItem.searchController?.searchBar.backgroundColor = UIColor.white
我也試圖在搜索欄上setScopeBarButtonBackgroundImage
和setBackgroundImage
,但一切看起來完全怪異。
此外,當我通過點擊搜索欄觸發搜索時,它會切換到右側取消按鈕的模式。 ( 「Abbrechen」 在德語)
與 「Abbrechen」 文本顏色也不能更改。 (需要它也是白色的)
任何幫助表示讚賞。
編輯:按照要求,這裏導航的直板造型代碼:
self.navigationBar.tintColor = UIColor.myWhite
self.navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor : UIColor.myWhite, NSAttributedStringKey.font: UIFont.myNavigationBarTitle()]
self.navigationBar.barTintColor = UIColor.myTint
if #available(iOS 11.0, *) {
self.navigationBar.prefersLargeTitles = true
self.navigationBar.largeTitleTextAttributes = [NSAttributedStringKey.foregroundColor : UIColor.myWhite, NSAttributedStringKey.font: UIFont.myNavigationBarLargeTitle()]
}
當前結果: 我已經使用Krunals主意設置的搜索欄背景的顏色,但隨後圓角丟失。重新設置圓角後,搜索欄的動畫似乎被破壞了。
所以還沒有滿意的解決方案。似乎嵌入到iOS 11導航欄中的搜索欄無法自定義。與此同時,只需更改佔位符文本的顏色就足夠了,但即使這似乎也不可行。 (我試圖從StackOverflow的多種方法 - 不工作)
你需要搜索的文字也是白色或其他 –
搜索文本可以是灰色的,這是確定。但如果這也是可以改變的話,那將很酷。 – Darko