У меня есть кастом UITableViewCell
. Он имеет UIView
, который добавляется к «contentView» UITableViewCell
. Для любого обновления я перерисовываю это UIView
, вызывая его "setNeedsDisplay
" и реализуя рисование внутри " drawRect " метода UIView.
UITableViewCell
переопределяет " willTransitionToState " и в соответствии со значением битовой маски просит UIView перерисовать.
Поскольку я прошу UIView
перерисовать себя снова, каждый раз, когда я делаю «движение по экрану», я вижу, что клетка мигает; даже текст, который не переместился из-за кнопки «Удалить», страдает от мерцания, поскольку все перерисовывается.
Я знаю, что возможное решение - это не вызвать " setNeedsDisplay " UIView из " willTransitionToState ", а вместо этого вызвать " setNeedsLayout " и пусть UIView реализует " layoutSubviews ".
Вот где я застрял: как я могу изменить макет моего UIView
, поскольку внутри моего UIView
все " Draw " (я использую методы "drawInRect" и "drawAtPoint" для строк и изображений). С правой стороны также есть строка, которую я хочу скрыть, когда появляется кнопка « Удалить » (как в приложении «Сообщения» на iPhone).
Как я могу сделать это, выполнив перепланировку вместо перерисовки?
Спасибо !!!