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

时间:2015-08-22 17:50:23

标签: ios swift uitableview uisearchcontroller

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

这是我模拟器的截图:

Screenshot

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

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

以下是我使用的代码:

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)

}

3 个答案:

答案 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"。

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