UIView как разделитель в UITableViewCell и выбранный цвет строки - PullRequest
1 голос
/ 11 ноября 2011

В моем приложении есть TableView, и мне нужно было изменить высоту и цвет разделителя. Просмотр здесь в SO помог мне найти решение. Поэтому я в основном добавляю UIView в свою ячейку и использую это как «поддельный» разделитель:

UIView *colorSeparator = [[UIView alloc] initWithFrame:CGRectMake(0, 53, cell.frame.size.width, 4)];
    colorSeparator.backgroundColor = [UIColor yellowColor];
    [cell.contentView addSubview:colorSeparator];
    [colorSeparator release];

Но теперь я заметил, что при постукивании по строке цвет выделения применяется к моему поддельному разделителю. Кто-нибудь знает, как можно этого избежать? Спасибо в совет для вашего времени:)

1 Ответ

2 голосов
/ 11 ноября 2011

Вы можете восстановить цвет вашего разделителя в setSelected:animated: и setHighlighted:animated: методах UITableViewCell.

// just edited your function, it was missing a square bracket
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated {
    UIColor *c = [[colorSeparator.backgroundColor retain] autorelease];
    [super setHighlighted:highlighted animated:animated];
    colorSeparator.backgroundColor = c;
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    UIColor *c = [[colorSeparator.backgroundColor retain] autorelease];
    [super setSelected:selected animated:animated];
    colorSeparator.backgroundColor = c;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...