Изменить фон сгруппированного UITableView
У меня возникли проблемы с попыткой изменить фон UITableView с помощью групп.
_tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"tableViewBg.png"]];
Это обычно работает на любом другом UITableView, но не на группе с группами, есть ли что-то еще, что мне нужно сделать?
В IB у меня цвет фона установлен на четкий цвет, но это не делает много.
Ответы
Ответ 1
Вам также необходимо отключить фоновый просмотр _tableView
:
[_tableView setBackgroundView:nil];
_tableView.backgroundColor = [UIColor redColor];
Не нужно добавлять новое представление в backgroundView. Это работает для меня в iOS6
.
Ответ 2
почему вы не устанавливаете tableView.backgroundView? вы можете выделить представление изображения с указанным изображением и передать его в фоновый режим вместо установки цвета фона.
Ответ 3
То, что я обычно делаю с сгруппированными UITableViews, задает цвет фона для очистки, а набор - образ шаблона для просмотра родителями.
self.parentViewController.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"tableBG.png"]];
self.tableView.backgroundColor = [UIColor clearColor];
Ответ 4
Выбранный ответ работает, но он очищает фон как вида tableHeaderView, так и заголовка раздела таблицы. Если вы хотите, чтобы заголовок таблицы имел определенный цвет, скажем, белый и заголовок секции по-прежнему будут серыми по умолчанию, чем следующие:
tableView.tableHeaderView.inputView.backgroundColor = [UIColor whiteColor];
Ответ 5
Просто хочу добавить ответ Nirav - это также можно сделать с помощью прокси-сервера внешнего вида iOS 5.
[[UITableView appearance] setBackgroundView:nil];
[[UITableView appearance] setBackgroundColor:[UIColor lightGreyColor]];
Преимущество заключается в том, что оно применяется во всем мире, поэтому вы можете группировать все настройки пользовательского интерфейса в одном месте. Однако он будет применяться ко всем табличным видам (не только сгруппированным стилем).
Ответ 6
tableView.backgroundView = nil;
tableView.backgroundColor = [UIColor colorWithPatternImage: xxx];
// tableView.backgroundColor = [UIColor redColor]; // is ok
если вы установите для этого backgroundColor таким образом, когда вы прокручиваете таблицуView, также будет просматриваться представление backgroundColor. так что вы можете: tableView.backgroundView = nil; self.view.backgroundColor =...