2014-08-19 3 views
1

Я пытаюсь удалить UITableviewCell жестом салфетки.Кнопка удаления остается отображаемой при использовании commitEditingStyle (cf gif)

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath 

{ 
    return YES; 
} 

С

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { 

    if (editingStyle == UITableViewCellEditingStyleDelete) { 

      [_commentsData removeObjectAtIndex:indexPath.row]; 
      _NBComment--; 

      [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] 
         withRowAnimation:UITableViewRowAnimationFade]; 

     } 

} 

Результат таков:

enter image description here

В удаления кнопок остается на дисплее после удаления строки.

У вас есть идея сделать удаление строк более плавным?

Заранее спасибо

ответ

0

Вы можете попробовать добавить этот код после удаления:

[tableview reloadData]; 
+0

Спасибо за ваш ответ, но на самом деле этот код написан для того, чтобы избежать использования 'reloadData'. Когда я использую reloadData после удаления, у меня есть сбой (cf http://stackoverflow.com/questions/18394816/at-caneditrowintindexpath-method-reloaddata-of-uitableview-not-work-properly) – Vico

1

Не спрашивайте меня, почему, но этот код работает:

[_commentsData removeObjectAtIndex:indexPath.row]; 
_NBComment--; 
[tableView beginUpdates]; 
[tableView setEditing:NO animated:NO]; 
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; 
[tableView endUpdates]; 
Смежные вопросы