Выбранное состояние для пользовательского UITableViewCell с использованием drawrect (с анимацией)

Я пытаюсь определить лучший способ использовать drawRect для чего-то вроде ячейки на изображении ниже и все еще оживлять между выбранными и невыбранными состояниями:

Пользовательский UITableViewCell

Я видел несколько предложений, причем самый продвинутый, казалось бы, следующий :

Но это все еще кажется довольно взломанным, поэтому я не совсем продаю его. Чувствуется, что должен быть более чистый путь.

Я полагаю, что другой вариант может иметь два разных UIViews, один из которых отображает не выбранное состояние, и тот, который нарисовал выбранное состояние (последнее, вероятно, является подклассом первого со слегка отличающимся прямым выводом). Тогда вы могли бы добавить оба из них в contentView, и скрывать / исчезать между ними? Это не будет поддерживать режим редактирования или аксессуары очень хорошо, но, возможно, это нормально?

Или, возможно, вы следуете этому же методу, но вставляете их в backgroundView и selectedBackgroundView соответственно?

Или, если кто-то уважает эту структуру ячеек, возможно, вы действительно только рисуете фон (загар, который, как я полагаю, на изображении выше), в backgroundView, более темный загар в selectedBackgroundView и рисует все остальное в подклассе uiview, добавленном в contentView? Но тогда вы рисуете пару разных мест (создавая свои собственные контексты, которые я себе представлял), и все еще будут проблемы с текстовыми / декоративными изображениями, которые не оживляют, предполагая, что они изменили цвет.

Так в чем же ответ?

Interesting Posts
Давайте будем гением компьютера.