UISearchController searchBar 不更新 barTintColor

Posted

技术标签:

【中文标题】UISearchController searchBar 不更新 barTintColor【英文标题】:UISearchController searchBar doesn't update barTintColor 【发布时间】:2018-09-25 12:02:26 【问题描述】:

我正在尝试使用以下代码更新搜索栏外观。

    searchController.searchBar.searchBarStyle = .prominent
    searchController.searchBar.backgroundColor = UIColor.clear
    searchController.searchBar.barTintColor = UIColor.black

它不会改变颜色。

【问题讨论】:

【参考方案1】:

或者您可以创建搜索栏的出口并执行以下操作:-

@IBOutlet weak var searchBar: UISearchBar!
searchBar.barTintColor = UIColor.black;

或者你想创建自定义然后:-

var searchBar: UIView = UIView()
var searchField: UISearchBar = UISearchBar();

searchBar.frame = CGRect(x: 0, y: 0, width: xxx, height: xxx)
searchField.barTintColor = UIColor.black;
searchField.frame = CGRect(x: searchBar.frame.origin.x, y: searchBar.frame.origin.y, width: xxx, height: searchBar.frame.height)
searchField.tintColor = UIColor.black
searchBar.addSubview(searchField)

【讨论】:

以上是关于UISearchController searchBar 不更新 barTintColor的主要内容,如果未能解决你的问题,请参考以下文章

在 UITableView Objective-C 中实现 UISearchController

在 UISearchController 中按取消后导航栏被阻止

iOS UISearchController:等到 UISearchController 在取消搜索后被解除

UISearchController

UISearchController 与单元格布局混淆

UISearchController 未显示