删除行后的UITableView,剩余行的位置

时间:2013-11-12 06:33:01

标签: ios objective-c uitableview

我在iOS中创建了一个表视图,并实现了删除行功能。一切正常。我有一个疑问,

考虑以下情况,

假设表有15行,如果我删除第10行。有时顶部(1-9)的单元格从上到下动画到第10行的位置。有时是底部的​​单元格(11 -15)动画到顶部。这是随机发生的。

这是删除代码

- (void)tableView:(UITableView *)tableView
commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
forRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@">>> Entering %s <<<", __PRETTY_FUNCTION__);

if (editingStyle == UITableViewCellEditingStyleDelete)
{
    [[self contents] removeObjectAtIndex:[indexPath row]];

    NSArray *indexPathsToRemove = [NSArray arrayWithObject:indexPath];

    [tableView deleteRowsAtIndexPaths:indexPathsToRemove     withRowAnimation:UITableViewRowAnimationAutomatic];
}

NSLog(@"<<< Leaving %s >>>", __PRETTY_FUNCTION__);
}

在此之间是tutorial我正在关注

您可以从this link.

下载该项目

无论如何都要控制这种行为。

提前致谢

1 个答案:

答案 0 :(得分:0)

您可以使用

进行控制
withRowAnimation:UITableViewRowAnimationAutomatic

有各种选择

UITableViewRowAnimationBottom
UITableViewRowAnimationFade
UITableViewRowAnimationRight
...

实际方法是:

    [mainTableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationAutomatic];