我正在尝试更改状态栏背景颜色,但我似乎没有做得对。
这是我模拟器的截图:
如您所见,当搜索栏处于活动状态时,状态栏背景将变为白色。
当搜索控制器处于活动状态时,我们的想法是使用与搜索控制器相同的背景颜色。
以下是我使用的代码:
class DisplayListTVC: UITableViewController, UISearchResultsUpdating {
var resultSearchController = UISearchController()
...
override func viewDidLoad() {
super.viewDidLoad()
self.resultSearchController = UISearchController(searchResultsController:nil)
self.resultSearchController.searchResultsUpdater = self
self.resultSearchController.dimsBackgroundDuringPresentation = false
self.resultSearchController.searchBar.sizeToFit()
self.resultSearchController.searchBar.barTintColor = UIColor(red:0.73, green:0.81, blue:0.87, alpha:1.0)
self.resultSearchController.searchBar.tintColor = UIColor(red:1.00, green:1.00, blue:1.00, alpha:1.0)
}
答案 0 :(得分:2)
我知道你的意思,我有同样的问题。我找到了一个解决方案,所以你仍然可以看到状态栏。只需要在你的函数中使用这两行代码就可以了;但是我不知道如何更改颜色,它将是灰色的。告诉我你对它的看法;)
self.tableView.tableHeaderView = controller.searchBar
self.definesPresentationContext = true
答案 1 :(得分:0)
self.resultSearchController.searchBar.backgroundColor = UIColor.blueColor()
如果这不起作用,请告诉我,还有其他选择
答案 2 :(得分:0)
在我的情况下,我需要做的唯一事情就是转到storyboard / xib,选择具有此问题的ViewController并在Attributes Inspector中取消选中"在Top Bars"。
它非常不言自明......快乐的编码!