我有一个简单的表格视图,其中单元格有一个数字标签,它们根据行号进行编号。这一切都运行正常,直到我尝试在顶部插入新行 。
我需要一种方法来更新下面的所有单元格,以便编号正确。重新加载tableview
,但它会切断行插入动画。有人知道解决方案吗?
谢谢!
答案 0 :(得分:0)
如果正确设置了cellForRowAt索引函数,其中每个标签号都是从indexpath.row派生的,那么之后插入就会调用
tableView.reloadData()
答案 1 :(得分:0)
您可能需要使用此解决方案( Swift 3.0 ):
CATransaction.begin()
tableView.beginUpdates()
CATransaction.setCompletionBlock { () -> Void in
// this is supposed to be done after insertion animation
self.tableView.reloadSections(IndexSet([0]), with: UITableViewRowAnimation.automatic)
}
self.tableView.insertRows(at: [IndexPath(row: 0, section: 0)], with: UITableViewRowAnimation.automatic)
tableView.endUpdates()
CATransaction.commit()
答案 2 :(得分:0)
在行插入完成后重新加载您的表,因为下面的代码可能会有所帮助:
[CATransaction begin];
[tableView beginUpdates];
[CATransaction setCompletionBlock: ^{
//Reload your tableView here
}];
[tableView insertRowsAtIndexPaths: indexPaths
withRowAnimation: UITableViewRowAnimationAutomatic];
[tableView endUpdates];
[CATransaction commit];