Ответ 1
Установите UITableView backgroundView в новое бесполезное представление:
self.tableView.backgroundView = [UIView new];
Кажется нелогичным, но работает как шарм:)
У меня есть поисковая панель SearchController, вставленная программно в UITableView tableHeaderView. Когда я вытягиваю, чтобы просмотреть панель поиска или обновить таблицу, я получаю этот странный темный серый цвет, который вы можете видеть на следующем изображении, между индикатором обновления и панель поиска (этот цвет фона сохраняется, даже когда я удаляю обновление вид):
tableView.tableHeaderView = searchController.searchBar
Я попытался изменить этот цвет фона всеми возможными способами:
tableView.backgroundColor = UIColor.redColor()
tableView.tableHeaderView!.backgroundColor = UIColor.redColor()
searchController.searchBar.backgroundColor = UIColor.redColor()
view.backgroundColor = UIColor.redColor()
Ничего не работает. Этот темно-серый не является одним из пользовательских цветов, которые я использую в своем проекте, поэтому я знаю, что не устанавливал его вручную. Как только я выхожу на searchController, все работает так же, как и раньше: темно-серый заменяется более светлым серым, увиденным повсюду.
Установите UITableView backgroundView в новое бесполезное представление:
self.tableView.backgroundView = [UIView new];
Кажется нелогичным, но работает как шарм:)
Правильный ответ Cameron E в Swift:
tableView.backgroundView = UIView()
Обратите внимание, что self.tableView.backgroundView = nil
работает не.
Попробуйте следующее:
[searchController.searchBar setBarTintColor:[UIColor blackColor]];
[searchController.searchBar setTintColor:[UIColor whiteColor]];
Надеюсь, что это поможет.
Просто установите пустой вид в качестве фонового просмотра UITableView
[self.tableView setBackgroundView:[[UIView alloc] initWithFrame:CGRectZero]];
попытаться изменить цвет
self.navigationController?.navigationBar = UIColor (красный: 1, зеленый: 1, синий: 1, альфа: 1)