Я реализовал подкласс UITableViewCell
с именем UITableViewCellCustom
.При входе в режим редактирования или при перелистывании ячейки для отображения кнопки удаления я хочу скрыть метку в своей ячейке и отобразить ее при выходе из режима редактирования.
Я реализовал следующий код в UITableViewCellCustom
- (void)willTransitionToState:(UITableViewCellStateMask)state {
[super willTransitionToState:state];
if ((state == UITableViewCellStateShowingDeleteConfirmationMask) || (state == UITableViewCellStateShowingEditControlMask)) {
[UIView animateWithDuration:0.5
animations:^{rankLabel.alpha = 0.0;}];
}
}
- (void)didTransitionToState:(UITableViewCellStateMask)state {
[super didTransitionToState:state];
if (state == UITableViewCellStateDefaultMask) {
[UIView animateWithDuration:0.5
animations:^{rankLabel.alpha = 1.0;}];
}
}
У меня есть две проблемы.
Например, если в моем табличном виде 23 строки.Когда отображаются мои первые 5 строк, я перехожу в режим редактирования.Мой rankLabel скрыт, а затем я прокручиваю до нижней части таблицы (до строки 23) и выхожу из режима редактирования.RankLabel отображается снова, но не для всех ячеек, мои ячейки 6/12 и 18 обновляются неправильно.Есть идеи?
В методе willTransitionToState
Я использую animateWithDuration
, чтобы мягко скрыть мой rankLabel, но он не работает, rankLabel скрыт, но без перехода.Этот же метод очень хорошо работает в didTransitionToState
, когда я хочу снова показать ярлык.Есть идеи?
Спасибо за вашу поддержку.