Некорректное поведение ячейки при удалении из UITableView в iOS 7
Есть таблица, в ней ячейка с картинкой:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
ISHPictureTVC *cell = [tableView dequeueReusableCellWithIdentifier:@"detailPicture" forIndexPath:indexPath];
cell.pictureView.image = picture;
return cell;
}
Ячейка оформлена в storyboard, содержимае ячейки привязано к границам. Размер ячейки высчитывается в:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
CGFloat ratio = picture.size.height / picture.size.width;
CGFloat size = [UIScreen mainScreen].bounds.size.width * ratio;
return size;
}
При удалении ячейки свайпом:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
picture = nil;
[tableView beginUpdates];
[tableView deleteRowsAtIndexPaths:@[indexPath]
withRowAnimation:UITableViewRowAnimationFade];
[tableView endUpdates];
}
}
В iOS 8.1 анимация удаления проигрывается корректно, а в iOS 7.1.2 (про другие версии не знаю) на устройстве и в симуляторе анимация выполняется некорректно. Красная кнопка "Удалить" во время сжатия удаляемой строки остаётся неизменной.
iOS7
iOS8
Плюс ко всему изображение видно, если мало строк в таблице.
Как сделать так, чтобы кнопка "Удалить" сжималась на iOS 7? Собственно тот же вопрос к содержимому ячейки.
Источник: Stack Overflow на русском