В моем подклассе UITableViewCell я переопределяю методы setHighlighted и setSelected, чтобы изменить внешний вид ячейки, когда она выбрана, но всякий раз, когда я устанавливаю свойство accessoryView в любом из методов, весь мой другой код, который изменяет шрифт ицвета теней полностью игнорируются.
Например, использование этого кода изменит цвет текста текста и меток сведений
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
if (selected) {
self.textLabel.textColor = [UIColor whiteColor];
self.textLabel.shadowColor = [UIColor clearColor];
self.detailTextLabel.textColor = [UIColor whiteColor];
self.detailTextLabel.shadowColor = [UIColor clearColor];
}
}
Но в тот момент, когда я добавляю пользовательский accessoryView в смесь,весь другой код игнорируется, однако изображение accessoryView действительно появляется.
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
if (selected) {
self.textLabel.textColor = [UIColor whiteColor];
self.textLabel.shadowColor = [UIColor clearColor];
self.detailTextLabel.textColor = [UIColor whiteColor];
self.detailTextLabel.shadowColor = [UIColor clearColor];
self.accessoryView =
[[UIImageView alloc] initWithImage:styleImage(@"/icons/disclosure_selected.png")];
}
}
Есть ли что-то, что я делаю неправильно?Как я могу правильно настроить accessoryView и остальной код ячейки во время выбранных и выделенных состояний?