Странная UITableView вставка / удаление строки анимации

Я вижу странный эффект при вставке / удалении UITableViewCell в UITableView с анимацией (UITableViewRowAnimationTop).

Анимация возникает, когда ячейка для вставки намного больше, чем ячейка выше.

Это видео показывает сбой в симуляторе, желтая ячейка внезапно появляется из ниоткуда, когда она должна скользить сверху.

Вот это проект Xcode из видео.

Ниже приведен код вставки ячейки / анимации.

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 2 + self.thirdCellVisible;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [tableView deselectRowAtIndexPath:indexPath animated:NO];

    if (indexPath.row == 1)
    {
        if (self.thirdCellVisible)
        {
            self.thirdCellVisible = !self.thirdCellVisible;
            [tableView deleteRowsAtIndexPaths:@[self.thirdCellIndexPath]
                             withRowAnimation:UITableViewRowAnimationTop];
        }
        else
        {
            self.thirdCellVisible = !self.thirdCellVisible;
            [tableView insertRowsAtIndexPaths:@[self.thirdCellIndexPath]
                             withRowAnimation:UITableViewRowAnimationTop];
        }
    }
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.row == self.thirdCellIndexPath.row)
    {
        return 100.0f;
    }

    return 44.0f;
}

Ответы на вопрос(4)

Ваш ответ на вопрос