0

私はそれを持っUIViewControllerUIScrollViewいます。
UIScrollView複数含まれていますUIViewControllers( PageControl Apple の例のようなもの)。
各インナーUIViewControllerインUIScrollViewは、ビューの変更を処理し、UIInterfaceOrientation再描画することができます。
しかし、UIViewControllersare がUIScrollViewローテーション イベントにあるときは、 inner に到達しませんUIViewControllers

これらの内部 UIViewControllers で回転イベントを処理するにはどうすればよいですか?
前もって感謝します。

4

2 に答える 2

0

viewController 構造 (tabbarcontroller や navigationcontroller など) 内の viewController のみが、回転イベントを取得 (および処理) します。一部の viewController のビューを追加したばかりの場合、それらは実際には回転しませんが、メイン ビューの新しいサイズに応じてフレームサイズが変更されます。一般に、すべてのビューで autoresizingMasks を使用する必要があります。ドキュメントでそれらについて読んでください。

しかし、scrollView では、おそらく自動レイアウトは不可能です。メイン ビューで layoutSubviews: を上書きして、scrollView フレームに基づいてすべての scrollView サブビューのレイアウトを処理できます。

于 2012-08-13T17:29:37.653 に答える
0

おそらく、デバイスがいつ回転したかを検出し、transformプロパティを使用して、必要な回転をプログラムCGAffineTransformMakeRotation(-M_PI_2)で適用できます。たとえば...

于 2012-08-13T19:55:24.370 に答える