iOS6から採用された。レウアウトの自動調整方法。
概要
二つのUIオブジェクト間の拘束の関係を表す。この関係は以下の式で書ける。
属性1 == 乗数 * 属性2 + 定数
1、2はオブジェクトの識別子で属性というのは例えばx方向の位置等である。
また、この式は>=のような不等号の場合もある。
属性には優先順位が付けられていて、複数の拘束条件のどれが優先されるかが決まる。
コンストラクタ
+ constraintsWithVisualFormat:options:metrics:views:
“Visual Format Language” を用いて拘束条件を生成する。
[button]-[textField]
+ constraintWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant:
属性1 == 乗数 * 属性2 + 定数
の関係式を使って拘束条件を生成する。つまり、
view1.attr1 <relation> multiplier * view2.attr2 + constant
itemのところにviewをattribute:にNSLayoutAttributeによる属性指定(NSLayoutAttributeWidthは幅)、relatedbyにはNSLayoutRelationで==や>=を指定する。
プロパティ
- constant
- firstAttribute
- firstItem
- multiplier
- relation
- secondAttribute
- secondItem
以上は属性1 == 乗数 * 属性2 + 定数を表している。
- priority
優先順位。NSLayoutPriorityで設定。
UILayoutPriorityRequired = 1000,
UILayoutPriorityDefaultHigh = 750,
UILayoutPriorityDefaultLow = 250,
UILayoutPriorityFittingSizeLevel = 50,
- shouldBeArchived
viewがarchiveされたときこの拘束もarchiveされるべきか。デフォルトはNO。
最終更新:2012年10月16日 10:30