在表更新之前,我的表数据源只有一个部分,一行:
- 第 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
电话,问题也存在,根据山姆的回答,这是不必要的。