0

縦に表示されるモーダルを使用して、ユーザーが新しいアイテムを追加できるようにします。完了すると、モーダルがスライドして表示されなくなり、新しい項目がリストに追加されます。

アニメーションを使用して新しい行を挿入する (または選択する) ことで、ユーザーに追加の影響を確認してもらいたいと考えています。問題は、セルがリストの一番下にある場合、まだ消えているモーダルの下で発生するため、ユーザーが実際にアニメーションを見ることができないことです。

このアニメーションがいつ完了したかを知る方法はありますか? それとも、もっと狡猾な/ハックなことをする必要がありますか*

* 追加されたセルの参照を iVar に保存し、モーダルが遷移を完了するまで起動しない viewDidAppear に挿入することを考えています - 他のアイデアをいただければ幸いです。

編集: 私の 2 番目のハッキーなアイデアは、モーダル解除を解除と同じ期間 (0.3?) のアニメーション ブロックでラップすることです。

4

2 に答える 2

1

奇妙な状況で完了ブロックがボートを浮かせない場合、ほとんどのアップル アニメーションの現在のデフォルトのアニメーション時間は 0.25f 秒です。遅延をハードコーディングして、その後アクションを実行することはできますが、お勧めしません。それはただの回避策です。できるときは、ロバートとベンが言ったことを実行する必要があります。

于 2012-08-11T00:51:12.663 に答える
1

モーダル移行はどのように行っていますか? presentViewControllerの代わりに使用するとpresentModalViewControllercompletionブロックがあります。同様に、 にdismissViewControllerAnimatedcompletionブロックがあります (古いものにdismissModalViewControllerAnimatedはありません)。これらは iOS 5 で導入されました。

于 2012-08-11T00:25:05.220 に答える