0

回転を考慮して UIView のサブビューを配置するための最良の手法を探しています。サブビューの配置は、UIView のフレームに基づいています。

私の基本的なシナリオは、ビューに多数のサブビューが含まれるトップレベルのモーダル UIViewController です。ローテーション通知はうまくいきますが、通常とローテーション中にサブビューが正しく配置されるように、最適なデザイン パターンがどうあるべきかについて苦労しています。

配置にlayoutSubviewsを使用していました。layoutSubviews は、通常 (ビューの作成中) と回転中に呼び出されます。問題は、回転中に呼び出されたときに、フレームの幅/高さがまだ反転していないことです。そのため、この関数中にサブビューの配置を確実に行うことができないようです。これがこのメソッドの正確な目的であるため、これは設計上の大きな欠陥のように思えますよね?

代わりに、私が今やっているときは、自分の関数にサブビューを配置し、回転中にフリップし、通常のサブビューの作成中にそのままにしておく CGRect フレームを渡します (self.frame)。これは正しいです?より良い解決策はありますか?

ありがとう。

4

0 に答える 0