9

マスター/ディテール分割ビュー アプリの Xcode ストーリーボードで正常に動作するレイアウトがありますが、シミュレーターまたは実際のデバイスで実行すると、少し混乱しているように見え、その理由がわかりません。

Xcode のイメージは次のようになります。

Xcode の見た目が良い

シミュレータとデバイスのレイアウトは次のようになります

めちゃくちゃな画像

4

1 に答える 1

9

これは、ほぼ間違いなく、サブビュー (別名 "Springs and Struts") の自動サイズ変更設定の問題です。

UISplitViewController ベースのアプリケーションを構築しています。アプリが縦モードと横モードで実行されている場合、Detail View Controller のフレームの寸法が異なることに注意してください。上のストーリーボードのスクリーンショットには、横長のフレームが表示されています。シミュレーターからのスクリーン キャプチャーは、縦長サイズのフレームを示しています。サブビューのストラットとスプリング (UIPickerView、ブラシをかけられた金属ボタン、下の白いボックスなど) を設定して、これらの要素のサイズを変更 (または変更しない) し、親での相対 (または絶対) 位置を維持する必要があります。見る。

これを行う最も簡単な方法は、右側の列のサイズ インスペクターを使用して、ストーリーボードに値を設定することです。設定を変更する要素を選択し、次を探します。

ここに画像の説明を入力

内側のボックス内の赤い矢印をクリックすると、「スプリング」のオン/オフを切り替えます。これにより、親ビューが拡大したときにサブビューが拡大するか、それが発生したときに元のサイズを維持するかが決まります。外側の赤い I バーをクリックすると、親ビューのサイズが変更されたときにサブビューが親ビューの端から一定の距離を維持するかどうかを決定する「ストラット」のオン/オフを切り替えることができます。これらを正しく組み合わせて設定すると、ビューが縦向きと横向きの両方で正しく表示されます。

autoresizingMaskこれらの設定は、ビューのプロパティを設定することにより、コードでプログラムによって変更することもできます。参考までに:

http://developer.apple.com/library/ios/DOCUMENTATION/WindowsViews/Conceptual/ViewPG_iPhoneOS/CreatingViews/CreatingViews.html#//apple_ref/doc/uid/TP40009503-CH5-SW5

于 2012-07-27T03:46:38.787 に答える