2015-07-16 2 views
14

У меня есть поисковая панель SearchController, вставленная программно в таблицу TableHeaderView UITableView. Когда я вытягиваю, чтобы просмотреть панель поиска или обновить таблицу, я получаю этот странный темный серый цвет, который вы можете видеть на следующем изображении, между индикатором обновления и панель поиска (этот цвет фона сохраняется, даже когда я удаляю обновление вид):Цвет фона для UISearchController в UITableView

enter image description here

tableView.tableHeaderView = searchController.searchBar 

Я попытался изменить этот цвет фона во всех отношениях я могу думать:

tableView.backgroundColor = UIColor.redColor() 
tableView.tableHeaderView!.backgroundColor = UIColor.redColor() 
searchController.searchBar.backgroundColor = UIColor.redColor() 
view.backgroundColor = UIColor.redColor() 

Ничего не работает. Этот темно-серый не является одним из пользовательских цветов, которые я использую в своем проекте, поэтому я знаю, что не устанавливал его вручную. Как только я вывожу searchController, все работает так же, как и раньше: темно-серый заменяется светло-серым, увиденным повсюду.

+0

searchController.view.backgroundColor = UIColor.redColor()? – streem

+0

Я действительно не хочу, чтобы он был красным, просто проверяя, что работает. Ни один из них не меняет темно-серый цвет фона. –

+0

Попробуйте это может быть полезно self.tableView.contentOffset = CGPointMake (0, self.searchDisplayController.searchBar.frame.size.height) – Karlos

ответ

30

Установите backgroundView в UITableView на новое бесполезное зрение:

self.tableView.backgroundView = [UIView new]; 

кажется нелогичным, но работает как шарм :)

9

Попробуйте это:

[searchController.searchBar setBarTintColor:[UIColor blackColor]]; 
[searchController.searchBar setTintColor:[UIColor whiteColor]]; 

Надеется, что это помогает.

+0

Это именно то, что я искал. – dustinrwh

3

Просто установите пустой вид как backgroundview в UITableView в

[self.tableView setBackgroundView:[[UIView alloc] initWithFrame:CGRectZero]]; 
10

Правильный ответ Камерона E в Свифте:

tableView.backgroundView = UIView()

Отметьте, что self.tableView.backgroundView = nilне работа.

Смежные вопросы