Я сам столкнулся с этой проблемой и нашел решение.
Я использовал Spark Inspector для изучения макета табличного представления - который
Дело в том, что в этом случае UITableView имеет 3 подзаголовка:
UITableViewWrapperView
UIView
- С backgroundColor
установлен на светло-серый цвет UISearchBar
Пока вы просматриваете содержимое таблицы вниз, вторая высота подзадачи динамически увеличивается, чтобы заполнить пространство между UITableViewWrapperView
и начало кадра UITableView
.
Установка свойства backgroundColor
или backgroundView
не повлияет на 2-й под просмотр. Что вам нужно сделать, это найти второе представление и изменить его цвет, например:
if (_tableView.subviews.count > 1) {
_tableView.subviews[1].backgroundColor = THE_TARGET_COLOR;
}
В моем случае мне нужно, чтобы все представления были белыми, поэтому я использовал следующее, которое менее подвержено будущим изменениям иерархии представления UITableView
от Apple:
for (UIView *subview in _tableView.subviews) {
subview.backgroundColor = [UIColor whiteColor];
}