Подтвердить что ты не робот

Изменить фон сгруппированного UITableView

У меня возникли проблемы с попыткой изменить фон UITableView с помощью групп.

_tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"tableViewBg.png"]];

Это обычно работает на любом другом UITableView, но не на группе с группами, есть ли что-то еще, что мне нужно сделать? В IB у меня цвет фона установлен на четкий цвет, но это не делает много.

4b9b3361

Ответ 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 =...