我已使用以下代码设置了行插入。在插入和删除行时,我仅使用UITableViewRowAnimationNone
,但是有时,正如您在下面的gif中看到的那样,该行从顶部或底部开始设置动画。在大多数情况下,它不会像我所希望的那样进行动画处理,但有时会以插入和删除为动画。我并不是说表格 View 会扩展以显示插入的单元格,而是意味着该单元格似乎从底部或顶部向内滑动。
这是控制插入动画的方法:
- (void)contentHeaderFooterView:(NFContentHeaderFooterView *)headerFooterView sectionOpened:(NSInteger)section{
NSIndexPath *pathToAdd = [NSIndexPath indexPathForRow:0 inSection:section];
[self.tableView beginUpdates];
[self.tableView insertRowsAtIndexPaths:@[pathToAdd] withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates];
}
这是控制删除动画的方法。
- (void)contentHeaderFooterView:(NFContentHeaderFooterView *)headerFooterView sectionClosed:(NSInteger)section{
NSIndexPath *pathToDelete = [NSIndexPath indexPathForRow:0 inSection:section];
[self.tableView beginUpdates];
[self.tableView deleteRowsAtIndexPaths:@[pathToDelete] withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates];
}
最佳答案
我遇到过类似的问题,表格更新没有执行我直接给它的动画。我不能肯定地说为什么,但是我可以建议的一件事是,除了在begin/endUpdates之间进行特定的行删除外,您还可以对硬reloadData进行操作。
关于ios - UITableViewRowAnimationNone - 表现为 UITableViewRowAnimation(Top/Bottom),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28954808/