在搜索控制器中更改状态栏背景

Change Status Bar Background in Search Controller

我正在尝试更改我的状态栏背景颜色,但我似乎没有做对。

这是我的模拟器的截图:

如您所见,当搜索栏处于活动状态时,状态栏背景变为白色。

想法是在搜索控制器处于活动状态时使用与搜索控制器相同的背景颜色。

这是我使用的代码:

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)

}

你试过这个吗?:

self.resultSearchController.searchBar.backgroundColor = UIColor.blueColor()

如果这不起作用,请告诉我,还有其他选择

我明白你的意思,我也遇到了同样的问题。我找到了解决方案,因此您仍然可以看到状态栏。刚刚在你的函数中加入了这两行代码,之后它看起来会好得多;)但是我不知道如何改变颜色,它会是灰色的。告诉我你对此有何看法 ;)

self.tableView.tableHeaderView = controller.searchBar
        self.definesPresentationContext = true

在我的情况下,我唯一需要做的就是去 storyboard/xib、select 和 ViewController 解决这个问题,然后在属性检查器中取消选中 "Under Top Bars".

它非常不言自明...编码愉快!