私はネストされたUIView
秒の数が含まれている1 UIView
を保持し、1 UIViewController
とストーリーボードを持っています。私は、このメソッドを実装するビューコントローラをサブクラス化:UIViewは風景の中にポートレートの寸法を持っていますか?
- (BOOL)shouldAutorotateToInterfaceOrientation: UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight || interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}
私もInfo.plist
に
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIInterfaceOrientation</key>
<string>UIInterfaceOrientationLandscapeLeft</string>
を追加しました。
私はこれをやっているメインのUIViewののviewDidLoadで:
問題が制御され、代わりに予想される1024の唯一の756px幅で詳細については、以下のスクリーンショットを参照してください。 私はウェブ全体を検索してきましたが、どこでもこの難解な問題の解決策を見つけることはできません。私は基本SDKとしてiOS5.1を設定してXcode 4.5を使用しています。
EDIT フレームを境界に置き換えて動作しています。しかし、私は何が起こっているのか理解していないので、フレームサイズでは動作しません。
ありがとう! 'フレーム'を境界線に置き換えることができます!しかし、なぜ私は本当に理解していないのですか?それをフレームで動作させる機会はありますか?なぜスーパービューとそれ自身の座標系でUIViewのサイズが違うのか分かりません – s1m0n
ビューはウィンドウ上にあり、ウィンドウには内部のランドスケープモードがなければならないと私は理解しています。 trueの場合、ウインドウ座標系のビュー座標は、ウインドウがそのビューと一緒に回転し、そのサブビューの回転に合わせて回転を反映しません。理解を深めるために、座標系の知識をリフレッシュしたいと思うかもしれません(回転と多分、この場合には十分でなければなりません):http://en.wikipedia.org/wiki/Cartesian_coordinate_systemそれは私が覚えている学校の数学です。 –
http://stackoverflow.com/questions/1210047/iphone-development-whats-the-difference-between-the-frame-and-the-boundsとリンクされた質問のいくつかを読むことはおそらく価値があります。 –