1

ビューコントローラー用にさまざまなレイアウトを設計しようとしています。グーグルで調べた後、SOからこの回答を得ました。基本的に、答えは、デバイスが回転し、一方を非表示にしてもう一方を表示するときに、横向きと縦向きの 2 つのシーンをセットアップするように指示します。

私の質問は、回転プロセスに甘いアニメーションを追加したい場合はどうすればよいですか? たとえば、異なるシーンで同じビューを設定できるので、これらのビューにモーション パスを設定して消えることはできますか? または、もっと簡単な場合は、回転とフェードアウトのアニメーションを追加できますか?

私は Core Animation にかなり慣れているので、詳細な説明は私にとって非常に役に立ちます。よろしくお願いします!

4

1 に答える 1

0

ここにはいくつかのオプションがあります。これを行うために探している主な方法は次のとおりです。

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation 
                                duration:(NSTimeInterval)duration;

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation;

回転中に要素を画面上で移動したい場合は、別のビュー ファイルを作成するよりも、要素のフレームを変更することをお勧めします。モーション アニメーションを使用するには、2 つの間のマッピングが必要ですが、このようなことは聞いたことがありません。繰り返しますが、フレームを変更するだけで、基本的には必要な画面の動きを実行できます (ビューとサブビューの場合)。

フェードを行うには、最初のメソッドでアニメーション ブロックをスローするだけです。

[UIView animateWithDuration:duration 
                     animations:^{
    // set alphas for old and new views here.
}];
于 2013-10-31T15:28:48.370 に答える