在表更新之前,我的表数据源只有一个部分,一行:
- 第 0 节
- 行 [0,0]
更新后,数据源又返回两个部分,每个部分只有一行:
- 第 0 节
- 行 [0,0]
- 第 1 节
- 行 [1,0]
- 第 2 节
- 行 [2,0]
我使用以下代码为表格更新设置动画:
// 更新表数据源,不重新加载表
更新表();
TableView.BeginUpdates();
// 插入第 1 节和第 2 节
TableView.InsertSections(NSIndexSet.FromNSRange(new NSRange(1, 2)), UITableViewRowAnimation.Fade);
// 插入两个新行,每个新部分一个(行 [1,0] 和 [2,0])
TableView.InsertRows(new NSIndexPath[] { NSIndexPath.FromRowSection(0, 1), NSIndexPath.FromRowSection(0, 2) }, UITableViewRowAnimation.Fade);
TableView.EndUpdates();
但是,只有第 1 部分及其行是动画的。第 2 节(第 [2,0] 行)立即出现并且不会移动/淡出一点。我还检查了切换的“慢速动画”。
这段代码有什么问题?
编辑:我忘了提,如果我省略了InsertRows电话,问题也存在,根据山姆的回答,这是不必要的。