2017-09-11 20 views
0

私はUITableViewを持っており、セルが選択されたときに、(最大化と最小限の効果をシミュレートするために)別のタイプのセルが再ロードされます。問題は、reloadData()メソッドが呼び出されてから正しくアニメーション化する方法を理解できないことです。UITableViewCellアニメーションの最小化と最大化

UIView.transition(with: tableView, 
          duration: 0.35, 
          options: .transitionCrossDissolve, 
          animations: { self.tableView.reloadData() 
}) 

のような種類のアニメーションを実現しましたが、実際にどのようにして終わりを見たいのかはわかりません。誰もが同じことをして、より良い解決策を持っていましたか?

答えて

1

アニメーションによる変更をしたい場合は、reloadDataを使用しないでください。

reloadRowsAtIndexPaths:withRowAnimation:を使用し、変更されたindexPathsを指定します。

+0

私は "自然な"アニメーション、すべてのUITableViewRowAnimationaが少し壊れて見えるように見えることはできません。動作するカスタムアニメーションの小さな例を教えてください。 –

+0

私はちょうどreloadRowsAtIndexPathsの場合UITableViewRowAnimationFadeになるUITableViewRowAnimationAutomaticを使用します。 – trapper

+0

ok、ありがとう、メソッドは素晴らしいですが、私はフッターがあり、セル自体の後でアニメーションされ、セルが読み込まれた後に画面の周りを飛ぶだけなので、私のケースではかなり不自然に見えます –

関連する問題