2012-01-01 3 views
6

Я пытаюсь изменить цвет фона вида, который появляется при прокрутке строки UITableViewCell, цвет фона позади кнопки «Удалить».Проведите по удалению в UITableViewCell на белом фоне, необходимо очистить

Я попытался изменить cell.editingAccessoryView, но ничего не сделал.

UIView* myBackgroundView = [[UIView alloc] initWithFrame:CGRectZero]; 
    myBackgroundView.backgroundColor = [UIColor clearColor]; 
    cell.editingAccessoryView = myBackgroundView; 

Любые идеи?

+0

Вы когда-нибудь находили решение этого вопроса? У меня такая же проблема :) –

ответ

7

Вы почти у цели. Класс UITableViewCell имеет свойство backgroundView, то есть nil по умолчанию. Просто создайте новый UIView, как вы это делали в своем вопросе, затем назначьте это свойству backgroundView вашей ячейки.

cell.backgroundView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease]; 
cell.backgroundView.backgroundColor = [UIColor clearColor]; 
1

Я думаю, что это зависит от того, как вы добавляете контент в свою камеру.

Когда я добавил контент в ячейку напрямую с помощью [cell addSubView] или [cell.contentView addSubView], у меня была та же проблема.

Мой обходной путь к этому был:

Create a view 
Add all your content(labels, images etc;) to this view 
Finally then add the view to your cell using [cell addSubView:tmpView] 

И вы не должны вмешиваться в собственности backgroundView больше. Я пробовал это и отлично работает!

7

Я отвечаю на это, потому что мне потребовалось некоторое время, чтобы найти ответ, и это первая запись, которая появляется в поиске. Используя метод willDisplayCell, вы можете получить доступ к цвету фона ячеек. Обратите внимание, что [UIColor clearColor]; вернет белый цвет, поэтому соответствующим образом настройте свой код.

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { 

    cell.backgroundColor = [UIColor blackColor]; 

} 
0

Хотя эти ответы правильные, я чувствую, что для большинства случаев проще просто установить цвет фона ячейки в построителе интерфейса. Под этим я подразумеваю фактическое свойство цвета фона ячейки, а не контент. Нет причин делать это динамически, если это всегда будет цвет, который представляет собой просмотр контента.

Смежные вопросы