Вопрос по uitableview, ios – Изменить фон сгруппированного UITableView

20

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

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

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

Ваш Ответ

8   ответов
0

Swift 4.2

TO REMOVE BACKGROUND VIEW & COLOR

tableView.backgroundView = nil
tableView.backgroundColor = .clear
3

что я обычно делаю с сгруппированными UITableView, - это установить цвет фона, чтобы очистить, и установить это изображение шаблона для представления родителей.

self.parentViewController.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"tableBG.png"]];
self.tableView.backgroundColor = [UIColor clearColor];
Я тоже попробовал, но безуспешно: self.view.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @ & quot; tableViewBg.png & quot;]]; _tableView.backgroundColor = [UIColor clearColor]; woutr_be
+1 это хорошо сработало для меня, особенно если я установил backgroundview на ноль.
Если я правильно помню, у UITableView есть фон представления прокрутки. Попробуйте это .. добавили к моему ответу.
Проверьте мой ответ на ответ выше, чтобы решить это woutr_be
Хммм, это тоже мало что делает, я не понимаю, почему это не сработает здесь, в любой другой таблице я использовал тот же код, работает нормально woutr_be
50

_tableView:

[_tableView setBackgroundView:nil];
 _tableView.backgroundColor = [UIColor redColor];

Нет необходимости добавлять новый вид в backgroundView. Это работает для меня вiOS6.

+1 Хороший И Простой Ответ ..
отлично и спасенные времена.
@MikeCritchley, этот ответ дан в 2013 году, поскольку в то время он не был реализован.
Genius. Кто знал, что сгруппированные заголовки разделов были ясны! Что касается iOS, на которой мы сейчас находимся в 2017 году, вам не нужно обнулять фон tableView. Я просто установил его прямо как белый, и это все, что она написала. Спасибо, что помогли мне разобраться с этим!
1

но он очищает фон как tableHeaderView, так и представления заголовка раздела таблицы. Если вы просто хотите, чтобы заголовок таблицы имел определенный цвет, скажем белый, а заголовок раздела по-прежнему оставался серым по умолчанию, чем сделать следующее:

tableView.tableHeaderView.inputView.backgroundColor = [UIColor whiteColor];
5

ть вид изображения с указанным изображением и передать его в фоновый вид вместо установки цвета фона.

На самом деле ваш ответ мне помог, получается, почему вы группируете UITableView, заданный backgroundView, используя self.tableView.backgroundView = nil; вы удалите это woutr_be
Не существует ли tableView.backgroundColor для изменения цвета фона? Использование tableView.backgroundView выглядит как обходной путь woutr_be
1
tableView.backgroundView = nil;
tableView.backgroundColor = [UIColor colorWithPatternImage: xxx];
// tableView.backgroundColor = [UIColor redColor];  // is ok

при прокрутке tableView будет также прокручиваться представление backgroundColor. Итак, вы можете: tableView.backgroundView = nil; self.view.backgroundColor = ...

0

iOS 9+, изменяя цвет фонаUITableView достаточно.

Objective-C

tableView.backgroundColor = [UIColor redColor];

Swift

tableView.backgroundColor = .red
0

прокси-сервера внешнего вида iOS 5.

[[UITableView appearance] setBackgroundView:nil];
[[UITableView appearance] setBackgroundColor:[UIColor lightGreyColor]];

Преимущество заключается в том, что он применяется глобально, поэтому вы можете сгруппировать все настройки пользовательского интерфейса в одном месте. Однако это будет применяться ко всем табличным представлениям (а не только к групповому стилю).

Похожие вопросы