【objective-c】cellを削除した際にreloadDataするとアニメーションがキャンセルされる

公開日: 

UITableViewを使って以下の様なcellを表示しているとする

[1 hige]
[2 hoge]
[3 hage]

この状態で[2 hoge]を削除したあとにこういう挙動になってほしい。

[1 hige]
[2 hoge] <- delete
[3 hage]

[1 hige]
[2 hage]

数字の部分は順番通りになる。

この時に削除アニメーションを表示しながらスムーズに表示を更新する方法について備忘録

sponcer link

 

 

 

 

 

通常だったら以下のように削除して更新みたいな感じで書くと思う。

しかし、これでやると実は、削除アニメーションが描画されずにいきなり削除後のセルの状態になってしまうのだ。

そこで、削除アニメーションもやりつつ削除後に数字を更新するために自分は以下の方法をとった。

0.3秒後にreloadDataすることによっていい感じに更新される。

けど、なんかアニメーション後に呼び出されるメソッドとかないのかなぁ。

ちょっと強引な気がするからもうちょいスマートな方法があってもいい気がする。

  • このエントリーをはてなブックマークに追加
  • Pocket
PAGE TOP ↑