5

私は Xcode 4.5 と iPhone 4 および 5 シミュレーターを使用しています。Interface Builder は、画面の上半分に UIButton を上部の制約付きで追加し、画面の下半分に UIButton を下部の制約付きで追加します。

iPhone 5 シミュレーターでは正常に動作しますが、iPhone 4 シミュレーターでは、ボタンが重なったり、下のボタンが上のボタンの上に配置されることさえあります。

一番下のボタンは「下マージンから250ポイント離れていなければならない」などの制約によるものだと思います。制約が削除できず、「250点以下」に変更しても機能せず、「250点以上」に変更しても機能しません。

次の方法はありますか?

1) 制約を持たないようにしますが、絶対 x と y に配置するだけですか? (または、iPhone 5 ではすべてがより間隔を空けられるように、過去のスプリングはどうなったのでしょうか?)

2) NIB を iPhone 4 および 4S 専用のものにして、アプリが iPhone 4 および 4S で適切に機能し、iPhone 5 では「黒いバー」だけが動作するようにします。

3) iPhone 5 でうまく動作し、iPhone 4 でもうまく動作するようにしますか?

上記の (1)、(2)、または (3) のみの解決策を知っている場合は、移行期間中の実行可能な解決策であるため、それを提供してください。

Xcode 4.5 を使用して単純なシングル ビュー アプリを作成し、1 つのボタンを画面の中心点のすぐ上にドラッグし、別のボタンを画面の中心点のすぐ下にドラッグします。次に、シミュレーターで実行します。iPhone 5 では、次のようになります。

ここに画像の説明を入力

アプリを停止し、シミュレーターのデバイスを iPhone 4S (3.5 インチ Retina) に変更します。最初にアプリを停止しないと、シミュレーターがクラッシュする可能性があります。アプリを再度実行すると、ボタンが重なります。

ここに画像の説明を入力

4

3 に答える 3

6

私は同じ問題を抱えていましたが、それは自動サイズ設定の設定が間違っていたことが原因でした。自動サイズ変更を変更するには、インターフェイス ビルダーのコントロールをクリックし、サイズ インスペクターに移動します。

自動サイズ変更グリッドにある太字の赤い I に注目してください。これらは、画面のサイズが変更されたときの配置を制御します (iPhone 3GS から iPhone 5 に移動する場合など)。

左下からオートサイズ

自動サイズ設定を次のようにすると、最適に機能すると思います。

左上からの自動サイズ変更

于 2012-10-10T14:02:56.597 に答える
0
  1. 私は制約ベースのレイアウトを使用したことがないので (iOS 5 のサポートを終了するまで使用しません)、よくわかりません。従来の NIB ベースの自動サイズ変更では、絶対座標が使用されます。
  2. 私の知る限り、これを 1 つの画面だけで行うことはできません。削除することで、アプリ全体で無効にすることができますDefault-568h@2x.png
  3. プログラムによるレイアウト、または簡単な方法 (維持するのが面倒) が必要な場合は、画面サイズごとに異なるペン先を使用します。通話中のステータスバーも正しく処理する必要があることに注意してください...

編集:コンテナ ビューに 2 つのボタンを配置し、制約をその親内のコンテナの中心に配置しますか? ボタン間の間隔は調整されませんが、両方のデバイスで問題なく表示されるはずです。

于 2012-09-23T03:45:24.470 に答える
0

ボタンを選択し、それらに「垂直方向の間隔」の制約を追加します。また、上下の余白には「未満」を設定します。

于 2012-09-23T14:42:23.890 に答える