删除tableView动画上的对象

时间:2016-04-17 13:04:39

标签: ios objective-c iphone uitableview cocoa-touch

我有UITableView,当用户在其中一个单元格上滑动时,他可以删除单元格(从数组中删除对象)。

但是,例如,当用户在表格中间的单元格上滑动时,动画将在最后一个单元格(底部的单元格)上进行,就像在此视频中一样:

https://vid.me/D0pi

以下是此删除的代码:

//Removing cell from "AroundersTableView"(UITableView) with UITableViewRowAnimationLeft
[self.AroundersTableView beginUpdates];
[self.Arounders removeObjectAtIndex:cellRowToDelete];
[self.AroundersTableView deleteRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:cellRowToDelete inSection:0]] withRowAnimation:UITableViewRowAnimationLeft];
[self.AroundersTableView endUpdates];

//Saving Arounders
[self saveArounders];

//Creating "newTableFrame"(CGRect) and setting it to current "AroundersTableView"'s frame will one less cell
CGRect newTableFrame=self.AroundersTableView.frame;
newTableFrame.origin.y+=44;

//Animating "AroundersTableView" to the new frame
[UIView animateWithDuration:0.5 animations:^{
    self.AroundersTableView.frame=newTableFrame;
}];

//ReConfiguring "AroundersTableView"(UITableView) height
[self performSelector:@selector(configureTableViewsHeight) withObject:nil afterDelay:0.5];

//Reloading "AroundersTableView"(UITableView) data
[self.AroundersTableView reloadData];

注意:configureTableViewsHeight只是使tableView高度为cell.height*Arounders.count(单元格高度*单元格数)的方法。

我不知道为什么会这样。

为什么?如何在正确的单元格上制作动画(它上面的所有单元格都会向下移动并隐藏红色部分)?

谢谢!

0 个答案:

没有答案