Я вложил в подкласс UITableViewCell
для отображения UIImage
и двух UILabel
подпредставлений. В контроллере представления для табличного представления в методе cellForRowAtIndexPath:
я включил вспомогательное представление через setAccessoryType:UITableViewCellAccessoryDetailDisclosureButton
.
Ячейки отображаются правильно.
Когда я нажимаю на кнопку раскрытия дополнительной принадлежности, я хочу заменить два подпредставления метки двумя разными подпредставлениями метки. Мой подход был следующим:
- В подклассе
UITableViewCell
внутри layoutSubviews
создайте
CGRect
s для «альтернативных» меток, расположите их одинаково
помещает как две "оригинальные" метки и скрывает их через setAlpha:
;
- Если нажать кнопку раскрытия, поменять набор из двух
пометить, отрегулировав их соответствующие альфа.
Проблема в том, что я не могу понять, какую логику в layoutSubviews
я бы использовал, чтобы узнать, была ли нажата дополнительная кнопка. Я вижу, что в представлении контроллер accessoryButtonTappedForRowWithIndexPath:
вызывается при нажатии этой кнопки, и оттуда кажется, что я бы назвал layoutSubviews
, но не могу понять, как использовать этот факт для достижения того, что я пытаюсь сделать.
Я все об этом говорю неправильно? Вместо того, чтобы скрывать / показывать CGRect
s с альфой, я должен просто создать другой подкласс UITableViewCell
?