【发布时间】:2017-09-01 20:00:42
【问题描述】:
我想在 iOS 11 搜索栏中嵌入导航栏中时更改文本和图标的颜色。所以占位符文本、搜索文本和搜索图标。
if #available(iOS 11.0, *) {
navigationController?.navigationBar.prefersLargeTitles = false
let searchController = UISearchController(searchResultsController: nil)
navigationItem.searchController = searchController
navigationItem.hidesSearchBarWhenScrolling = false
searchController.searchBar.placeholder = "Suchen"
searchController.searchBar.tintColor = .white
}
正如您在图像中看到的那样,深蓝色背景上的文本是灰色的,看起来很难看。我希望文本和图标至少是白色的。 (改变蓝色背景颜色也不是很好,见my other question)
唯一有效的方法是更改闪烁光标和“取消”按钮的颜色,这是通过 .tintColor 属性完成的。
似乎适用于 iOS 10 及更低版本的解决方案在 iOS 11 中似乎不再适用,因此请仅发布您知道适用于 iOS 11 的解决方案。谢谢。
也许我错过了关于 iOS 11 中这种“自动样式”的要点。感谢任何帮助。
【问题讨论】:
-
您尝试过
UITextField.appearance(whenContainedInInstancesOf: [UISearchBar.self]).tintColor = .white吗? -
是的,不起作用。
标签: ios swift uinavigationbar uisearchbar