以下のようにself.tableView.editingの変更とreloadDataを同じイベント内で行うとアニメーションが行われなくなってしまう。
- (IBAction)editButtonTouch:(UIBarButtonItem *)sender { [self.tableView setEditing:!self.tableView.editing animated:YES]; [self.tableView reloadData]; }
これはアニメーションが始まってすぐにreloadDataでUIが上書きされてしまうため。
以下のようにreloadDataにWaitをかければアニメーションするようになる。
- (IBAction)editButtonTouch:(UIBarButtonItem *)sender { [self.tableView setEditing:!self.tableView.editing animated:YES]; [self.tableView performSelector:@selector(reloadData) withObject:nil afterDelay:0.5f]; }