AutoLayoutで優先度を設定する

AutoLayoutは上下、左右の値の制限を設定したりなどして、
とても便利な機能ですが、「関係」や「優先度」などの設定もできることを知りました。

Auto Layout ガイド(P7)
https://developer.apple.com/jp/devcenter/ios/library/documentation/AutolayoutPG.pdf

以下を抜粋
関係 (Relation)ビューの属性値として、定数値以外に関係式や不等式(≧など)も指定できます。
たとえば幅について「width >= 20」という指定、あるいは要素間に「textview.leading >=
(superview.leading + 20)」といった指定ができるのです。

● 優先度 (Priority level) 制約には優先度を指定できます。優先度の高い制約をまず満たした後で、

優先度の低い制約を考慮するようになっています。デフォルトの優先度は「必須」
(NSLayoutPriorityRequired)というもので、制約を完全に満たさなければならないことを表
します。一方、「必須」優先度でない制約については、完全ではないにしても、できるだけそれ
に近づけようとします。

Xcode6でビルドした時に、UITableViewCellに配置してあるUILabelの可変設定がうまくいかなくて、
Bottom Spaceの制約をEditして、Priorityを”Low(250)”に設定したらうまくいきました。
image1

ちなみにPriorityを”Low(250)”にすると、画面で点線で表示されました。
image2

広告

AutoLayoutで優先度を設定する」への1件のフィードバック

  1. ピンバック: AutoLayoutのpriorityについてまとめてみた。 - ミネハルライフ

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中