0

複数のサブUIViewControllerを処理するルートUIViewControllerがあります。ルートビューは、回転しないカスタムタブバーです。向きを変えてサブコントローラーを回転させたい。

いくつかのテストから、ルートコントローラーがサブコントローラーのすべての向きの変更を処理することがわかりました。したがって、標準のデバイスの向きの変更を模倣するカスタムアニメーションを実装する必要があります。これを表示ビューに適用し、使用してすべての非表示ビューを変換できます。

表示されているサブコントローラーのビューは、ルートの「contentView」にサブビューとして追加されます。「contentView」には、一度に1つのサブコントローラービューしかありません。残りは配列になっています。

どうすればこのようなことができますか?これはiOS5と6をサポートします。ビューを回転させるためにCGTransformationを実行し、それに合わせてフレームのサイズを変更する必要があることはわかっています。主に、サブコントローラーが適切に機能するようにするために必要な手順がわかりません。

4

1 に答える 1

0

CGAffineTransformations を UIView に適用した後、ビューのフレームを確実に編集できなくなることがわかりました。代わりに境界を使用する必要があります。境界の原点を同じに保ち、サイズを変更すると、Pi/2 回転後にビューのサイズを変更できます。UIDevice の回転の変更を偽装したり、向きの変更を許可しないルート ビューで応答したりするのに適しています。

于 2012-09-27T20:29:53.997 に答える