Я использую UIButton для отображения и переключения элемента table-cell из чтения в непрочитанное. Я использовал синее изображение в качестве фона, чтобы показать, когда элемент был непрочитан, и это сработало, но подумал, что было бы лучше использовать функцию setHighlighted, поскольку он сохраняет добавление дополнительного изображения в приложение. Используемый мной код выглядит следующим образом:Измените setHighlighted для UIButton
- (void)updateReadButton{
if(article.read.boolValue){
//[readButton setBackgroundImage:nil forState:UIControlStateNormal];
[readButton setHighlighted:FALSE];
[readButton setNeedsLayout];
} else {
[readButton setHighlighted:TRUE];
[readButton setNeedsLayout];
}
}
Это прекрасно работает для первоначального создания ячейки. Но когда элемент кликается и отображается подробный вид, я переключаю значение «read» на «true» и меняю параметр setHighlighted на false для UIButton в ячейке, но он не изменяется, когда возвращается от детали Посмотреть. Только когда ячейка прокручивается с экрана и воссоздается, отражается изменение. Как я могу заставить перерисовать кнопку, когда я перейду к подробному представлению?
Вы пробовали 'setNeedsDisplay' вместо' setNeedsLayout'? –
Да, и оба, похоже, не работают. Предполагаю, что я называю это сам UIButton? –