2017-01-17 6 views
2

アイフォーンモードでは縦幅が400px、横幅が400px、右側にアライメントされているデバイスの幅に合わせてビュー幅を拡大できますか?さまざまなデバイスの幅に応じてビューのサイズとアライメントが異なる

これは、デバイスクラスを使用して達成できますか、または特性が異なる可能性がありますか?私が本当に望んでいるのは、ビューがデバイスの幅に適応しているということです。デバイスが横向きモードになっているため、またはiPhone PlusやiPadで動作しているため、400pxよりも広い場合は、ディスプレイの幅ではなく、400pxの最大幅を持ち、右側に座っています。たぶんこれはコードでのみ行うことができますか?

ありがとうございます。

+0

の可能性のある重複した[のiOSに自動レイアウトでビューの動的な幅と高さを設定する方法?](http://stackoverflow.com/questions/ 30777528/how-to-set-dynamic-width-of-view-in-autolayout-in-ios) – SwiftDeveloper

答えて

1

私が本当に欲しい、ビューは デバイスの幅に適応ということです。それは私が 風景モードにデバイスを回転させるため、(400ピクセルより広い場合やアプリはiPhoneプラスで実行されるためか、 iPad)の場合、 はディスプレイの幅に広がってはいけませんが、 の最大幅は400pxです。右側に座ってください。

これは、ビューの幅と配置を制御するために次の制約を設定することで実現できます。

  1. ピン定数0とのスーパーの後端と1000の優先順位に図。
  2. スーパービューの先頭にビューを固定し、定数は0で、優先度は750です。
  3. ビューの幅の制約を設定し、より小さいか等しいから400の優先度を1000に設定します。

のポートレートでiPhone 6で見ると、3つの制約はすべて簡単に満たされます。

iPhone 6での風景で表示すると、他の2つの制約を満たすために制約2(優先度がより低い)が壊れています。 自動レイアウトは、制約2を満たすために最善を尽くし、400単位の幅制約を破ることなく、ビューをできるだけ広くします。

高さと垂直位置を設定するには、ビューに他の制約が必要です。


constraints in Storyboard


gif showing running in the simulator

関連する問題