0

回転後にUI要素のフレームがどうなるかを知る方法があるかどうか、私は迷っています。willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)durationこの要素に関連する他の要素を設定するには、これが必要です。

このメソッドでは、UI 要素のフレームを確認すると、呼び出されるため、回転前のフレームになります。WILLrotate...

でこれを実行できることはわかっていますdidRotate...が、見栄えが悪くなります。画面が回転しているときにアニメーションに新しいフレームを設定したい。値をハードコーディングできることはわかっていますが、それはあまり解決策のようには見えません。

乾杯、

ジョージ

4

1 に答える 1

1

まあ、あなたはそれを行うことができます。Interface Builderに表示される「スプリングとストラット」を知っている場合、それらはプライマリビューの「autoresizingMask」プロパティのビットマスクのビットです。ビューがフレームを変更することがわかっているので、プライマリビューのサブビュー(およびそれらのビューのサブビュー)で任意のビューを取得し、プライマリビューから始めて、各コンテナのフレームが回転。

たとえば、フレーム10,460,300,10のUITextFieldがあり、水平方向のばねがあり、左、右、下に固定されている場合、ビューがたとえば320から480の幅に回転すると、新しいフレームは10,300,460,10になります。

于 2012-08-13T11:54:05.677 に答える