Проблема обновления UITableViewCell после режима редактирования - PullRequest
1 голос
/ 08 октября 2011

Я реализовал подкласс 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;}];
    }

}

У меня есть две проблемы.

  1. Например, если в моем табличном виде 23 строки.Когда отображаются мои первые 5 строк, я перехожу в режим редактирования.Мой rankLabel скрыт, а затем я прокручиваю до нижней части таблицы (до строки 23) и выхожу из режима редактирования.RankLabel отображается снова, но не для всех ячеек, мои ячейки 6/12 и 18 обновляются неправильно.Есть идеи?

  2. В методе willTransitionToState Я использую animateWithDuration, чтобы мягко скрыть мой rankLabel, но он не работает, rankLabel скрыт, но без перехода.Этот же метод очень хорошо работает в didTransitionToState, когда я хочу снова показать ярлык.Есть идеи?

Спасибо за вашу поддержку.

1 Ответ

5 голосов
/ 13 декабря 2011

Для № 2:

- (void)willTransitionToState:(UITableViewCellStateMask)state {
[super willTransitionToState:state];

if ((state == UITableViewCellStateShowingDeleteConfirmationMask) || (state == UITableViewCellStateShowingEditControlMask)) {

    [UIView setAnimationsEnabled:TRUE];

    [UIView animateWithDuration:0.5
                     animations:^{rankLabel.alpha = 0.0;}];

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...