Поддерживать цвет фона UITableViewCell при переходе в режим редактирования. - PullRequest
4 голосов
/ 22 июля 2011

Я установил цвета фона для всех моих UITableViewCells. Однако, когда я щелкаю свой UIBarButtonItem «изменить», значки удаления и перетаскивания искажают цвет фона, создавая белый фон за ними. Есть ли способ обойти это? Я могу показать код при необходимости, но это кажется довольно простым вопросом.

Ответы [ 2 ]

8 голосов
/ 14 ноября 2011

Цвет фона ячейки таблицы обычно устанавливается следующим образом:

cell.backgroundView.backgroundColor = [UIColor redColor];

Это отлично работает. Однако когда создается объект класса UITableViewCell, по умолчанию у него нет backgroundView, он равен nil. Разработчик должен создать backgroundView, когда это необходимо. Поэтому в зависимости от конкретной ситуации вам нужно сделать что-то вроде:

if (cell.backgroundView == nil) {
  cell.backgroundView = [[[UIView alloc] init] autorelease];
}
cell.backgroundView.backgroundColor = [UIColor redColor];
7 голосов
/ 22 июля 2011

Это стандартное поведение uitableviewcells в режиме редактирования.Попробуйте снова установить цвет фона для tableViewCells в

 - (void)setEditing:(BOOL)editing animated:(BOOL)animate
{
if(editing)
{
  // set background color
}

else {
}

. При необходимости попробуйте установить цвет фона в качестве свойства, чтобы вы могли установить его здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...