我想用新的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