[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
当删除行时,此代码(在方法commitEditingStyle中)不会对动画进行任何更改。该行被删除,其他一切都运行良好,除了动画。
无论我将动画样式更改为什么,它只是从左向右擦除文本,同时通过向上移动来删除行。而最后一行也是一件奇怪的事情。它会擦除文本并删除行,但不会同时删除行。
这是iOS 7中的默认行为吗?我不明白为什么会这样。
P.S。我不知道为什么但是insertRowsAtIndexPaths动画似乎工作正常。
[self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:ip] withRowAnimation:UITableViewRowAnimationRight];
答案 0 :(得分:1)
尝试
[self.tableView beginUpdates];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
[self.tableView endUpdates];
确保表视图的数据源与tableView的内容同步。
我通常有一个数组作为数据源,并且我覆盖了它的setter,这样它总是在同步。
希望有所帮助