UITableView с прокруткой фонового рисунка

У меня есть UITableView со свойством backgroundColor, установленным так:

tableview.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"IMAGE"]];

Это дает табличному виду фон, эти прокрутки, что именно то, что я хочу.

Проблема в том, когда я добавляю ячейки к tableview в каждой ячейке фоновый рисунок tableview начинается новый / начинается заново:

UIScrollView проблема

На изображении выше вы можете увидеть проблему в красных кружках.

Для tableview клетки, я установил все backgroundColors в clearColor за

  • backgroundView
  • TextLabel
  • detailedTextlabel
  • contentView

Я также пытался установить

cell.backgroundView = [UIView new];
cell.backgroundView.backgroundColor = [UIColor clearColor];

и то же самое для contentView, тоже.

Дополнительное примечание: установка backgroundView для таблицы не помогает, поскольку фон больше не прокручивается!

2 ответа

Решение

Просто столкнулся с этой проблемой и обнаружил, что это исправляет ячейку, имеющую собственную копию backgroundColor

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    [cell setBackgroundColor:[UIColor clearColor]];
}

Вот что я бы сделал:

1) Создайте контроллер вида и установите цвет фона вида для вашего изображения шаблона.

2) Добавьте свой контроллер представления таблицы как дочерний контроллер представления к недавно созданному контроллеру представления. Это можно сделать с помощью кода или, если вы используете iOS 6 и раскадровки, с помощью встроенного кода. Если вы делаете это в коде, вам может потребоваться установить фрейм контроллера табличного представления вручную.

3) Установите цвет фона контроллера представления таблицы на [UIColor clearColor]

У меня была похожая проблема, и это то, что сработало для меня.

Другие вопросы по тегам