我想在另一行刪除動畫完成後插入一行。我一直在嘗試做以下:將行插入另一行刪除動畫
tableView.beginUpdates()
CATransaction.begin()
CATransaction.setCompletionBlock {
tableView.insertRowsAtIndexPaths([indexPath], withRowAnimation: .Right)
}
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Left)
CATransaction.commit()
tableView.endUpdates
這給了我平時的斷言失敗時的行數是不一樣的,因爲它是被期待。
然後我用UIView
動畫與完成塊的嘗試:
tableView.beginUpdates()
func animations() {
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Left)
}
func completion() {
if count == self.payments.count && self.payments.isEmpty { insert() }
}
UIView.animateWithDuration(0.5, animations: { animations() }) { _ in completion() }
tableView.endUpdates()
兩個嘗試是給我同樣的錯誤。是否可以或應該查看插入/刪除tableview行的自定義動畫?
編輯:
我設法讓它通過移動tableView.endUpdates()
來完成塊的工作情況。但插入動畫仍然在該行被刪除的同時動畫。
是否有另一種方法呢?