выбор цвета для UITableViewCell - PullRequest
3 голосов
/ 17 июня 2009

Если у меня есть пользовательский UITableViewCell, который не использует textLabel, встроенный в ячейку, а вместо этого делает свой собственный рисунок, как я могу изменить внешний вид contentView при выделении, как это происходит автоматически для текста по умолчанию (настраивается путем установки selectedTextColor:)?

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

Ответы [ 3 ]

6 голосов
/ 17 июня 2009

Только не наследуйте UITableViewCell и не используйте поведение по умолчанию. Вы можете полностью настроить ячейку без подклассов.

Читайте эту статью для более подробной информации.

5 голосов
/ 16 ноября 2012

Добавьте этот код в метод tableForRowAtIndexPath вашего табличного представления и просто измените ожидаемый цвет для стиля выбора UITableViewCell.

   //-------------------------------------------------------------------------
   //background selected view 
   UIView *viwSelectedBackgroundView=[[UIView alloc]init];
   viwSelectedBackgroundView.backgroundColor=[UIColor colorWithRed:124.0/255.0 green:202.0/255.0 blue:227.0/255.0 alpha:1.0];
   cell.selectedBackgroundView=viwSelectedBackgroundView;
   //-------------------------------------------------------------------------
3 голосов
/ 24 июля 2012

Если вы создали подкласс UITableViewCell, тогда вы можете настроить элементы ячейки, переопределив следующее:

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated {
    if(highlighted) {
        self.backgroundColor = [UIColor redColor];
    } else {
        self.backgroundColor = [UIColor clearColor];
    }

    [super setHighlighted:highlighted animated:animated];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...