別の行削除アニメーションが完了した後に行を挿入しようとしています。私は、次の操作を実行しようとしてきた:行の数は、それが期待されていますと同じでない場合別の行削除アニメーションの後に行を挿入する
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.endUpdates()
を移動して動作させることができました。しかし、挿入アニメーションは、行が削除されると同時にアニメーション化されます。
これを行う別の方法はありますか?