2011-06-19 14 views
0

私は1つのビューで、シンプルな1つの画面のアプリを持って機能していない...ビューはiPhoneのビューの回転が正しく

ボタン、トップ

全体テキストボックスとボタン下部にセグメント化されたコントローラが含まれています

とその間のMapView。ポートレートモードで

世界中で右..ですだから私はオリエンテーションの変更を許可するように始めることにしました... IBで

すべてのビューと要素、さらにはルートウィンドウはautoResizeSubviewsはで

を設定しています私のAppDelegateと私のviewController私はまた、プログラムでSetAutoResizeSubviewsをyesに明示的に追加しました。私は、ルートウィンドウとView ControllerでautoResizingMaskをFlexibleWidhtに設定しました。柔軟な高さ

私は常にtrueを返すために、私のViewControllerにshouldAutorotateToInterfaceOrientationを追加しました。

まだ動作しません..または正しく回転しないと言わなければなりません..両方のポートレートモードでは、すべてが素晴らしいように見えますが、両方のランドスケープモードでは、物事が正しくレイアウトされたり、基本的には私が見るのはマップビューで、そのサイズは少し大きめですが、ポートレートモードに比べてそれほど大きくはなく、画面の上から下にいっぱいにはなりません。 mapviewのTOPに表示されます。どのデザインよりも偶然にビューの上にレイアウトされたと思われるように。

誰かが私が逃しているアイデアや理由は何ですか?事前

+0

マップビューの高さのサイズが適切に変更されているようですが、その幅は変更されていないため、ウィンドウの左上に置かれているはずです。私はそれがすべての要素でこれをしているのだろうかと疑問に思っています。そのため、画面の左上には互いに重なり合っているだけです。マップビュー。 – user282172

答えて

0

ありがとうございます「私はルートウィンドウとビューコントローラにautoResizingMaskを設定しました」と言うが、それは赤いニシンです。ボタン、テキストボックス、セグメント化されたコントローラ、およびマップビューは、正しいautoresizingMaskを持つ必要があります。このビューがペン先で設計されている場合は、そこに値を設定し、ペン先でペンを方向を変えて何が起こるかを確認できます。

autoresizingMaskの値がすべてのインターフェイス要素でうまくいかない場合は、didRotateFromInterfaceOrientationを実装し、呼び出し時にコードのレイアウト変更を実行します。

+0

はい、私はこれを理解しました...ちょうどそれを投稿しようとしていました。私はビューのオートサイズがIBで正しく設定されていないので、すべてが実際に風景のウィンドウの右上にロックされていました...それでもまだサイズ変更していないものにはいくつか問題がありますが、少なくともページは適切な場所にすべて表示されています。 – user282172

+0

これでIBの自動サイズ変更ラインが私の望むようになるまで再生します。 – user282172

+0

マット、テキストフィールドとセグメント化されたコントローラは、少なくとも私がIBで言うことができる調整可能な高さを許可していません..これらの要素は垂直スペースでサイズ変更されないので...どのように私は、境界? IEは、セグメント化されたコントローラの固定サイズにマップビューの境界を移動させず、スケーリングの計算によってそれらがそこに置かれてもテキストフィールドを編集しませんか? – user282172

関連する問題