3

私のiOS6アプリには、リーフノードが個別のビューを開くマルチレベルのテーブルビューがあります。テーブルの最初のレベルからのアニメーションは、古いビューを左にスライドさせ、新しいビューを右からスライドさせます。テーブルビューから非テーブルビューに移行するときにも、このスライドインアニメーションを使用したいと思います。どのように?

詳細は次のとおりです。

テーブルビューの最初のレベルには、開示インジケーターがありますここに画像の説明を入力してください。1つをクリックすると、テーブルの1番目のレベルが左にスライドし、2番目のレベルのビューが右からスライドします。良い。

ここに画像の説明を入力してくださいテーブルの2番目のレベルには、テーブル内のその要素の詳細ビューにユーザーを移動する詳細開示ボタンがあります。

ここでも同じアニメーションを提供したいと思います。テーブルビューは左にスライドし、新しいビューは右からスライドする必要があります。

まず、これがこの場合に使用する正しいアニメーションであるということは正しいですか?

次に、この「スライドイン」アニメーションが以下の標準ビューアニメーションにない理由を知っていますUIViewAnimationTransitionか?

typedef enum {
   UIViewAnimationTransitionNone,
   UIViewAnimationTransitionFlipFromLeft,
   UIViewAnimationTransitionFlipFromRight,
   UIViewAnimationTransitionCurlUp,
   UIViewAnimationTransitionCurlDown,
} UIViewAnimationTransition;

最後に、テーブルビューが使用するのと同じスライドをアニメーションで使用したいが、標準ビューの1つとして使用できない場合、テーブルビューと非テーブルビューの間で移行するときにこのアニメーションを追加するにはどうすればよいですか?

4

1 に答える 1

8

通常、このタイプのアニメーションはで実行されUINavigationController、新しいviewControllerをスタックにプッシュした結果です。シミュレートする場合は、新しく公開されたビューを現在のベースビューの現在のビューの右側(つまり画面外)に追加し、UIViewanimateWithDuration:animations:completion:メソッドを使用して画面上のビューと画面上のビューの両方を移動するだけです。オフスクリーンでは、1画面左に表示されます。(completion:ブロックを使用して元のビューを削除するか、そのままにしておくと、画面上で簡単にアニメーション化できます。)

于 2012-10-31T18:47:44.053 に答える