用途
NSLayoutConstraint就是一个约束,一个约束定义了两个交互类之间需要满足的布局约束体系。每一个约束就相当于线性方程。
Creating Constraints(创建约束)
- +constraintsWithVisualFormat:options:metrics:views: 使用 VF 格式创建一个约束数组
- +constraintWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant: 创建一个明确的约束。
约束的形式是这样的: "view1.attr1 = view2.attr2 * multiplier + constant"
如果你的式子中没有第二个视图和属性。 可以使用 nil 和NSLayoutAttributeNotAnAttribute。
Activating and Deactivating Constraints
- active:约束是否进行激活
- +activateConstraints: 激活容器数组中的每一个约束。
- +deactivateConstraints: 取消激活容器中的每一个约束。
Accessing Constraint Data
- priority:约束的优先级
- firstItem:第一个视图
- firstAttribute:第一个视图属性
- relation:视图关系
- secondItem:第二个视图
- secondAttribute:第二个视图属性
- multiplier:倍率
- constant:约束的大小(可以修改)
Identifying a Constraint
- identifier:约束的标识符(名字)
Controlling Constraint Archiving
- shouldBeArchived:是否将要被归档
Constants
- NSLayoutRelation:约束关系的枚举类型
- NSLayoutAttribute:布局属性枚举
- NSLayoutFormatOptions:格式属性枚举
- NSLayoutConstraintOrientation:布局方向属性枚举
- NSEdgeInsets:一个结构体,包含上下左右边距
- NSLayoutPriority:约束的优先级
- Layout Priorities:表明约束的相对重要性
- UILayoutPriority:向基本约束布局系统表明哪个约束更加重要
结束语
如果有不对的地方请及时指出,谢谢!!!