使用方法是通过snp_makeConstrainsts方法给view添加约束,分别有边距、宽、高、坐上右下距离、基准线。同时,添加过约束后可以有修正,修正有位移修正(inset、offset)和倍率修正(multipliedBy)
iconView.snp_makeConstraints { (make) in
make.edges.equalTo(contentView)
}
语法一般是:make.equalTo或make.greaterThanOrEqualTo或make.lessThanOrEqualTo+倍数和位移修正
.equalTo:等于
.lessThanOrEqualTo:小于等于
.greaterThanOrEqualTo:大于等于
注意:使用snp_makeConstrainsts方法的元素必须事先添加到父元素中
2.约束条件参数支持类型
(1)视图属性(ViewAttribute)
视图属性(ViewAttribute) | 布局属性(NSLayoutAttribute) |
view.snp_left | NSLayoutAttribute.Left |
view.snp_right | NSLayoutAttribute.Right |
view.snp_top | NSLayoutAttribute.Top |
view.snp_bottom | NSLayoutAttribute.Bottom |
view.snp_leading | NSLayoutAttribute.Leading |
view.snp_trailing | NSLayoutAttribute.Trailing |
view.snp_width | NSLayoutAttribute.Width |
view.snp_height | NSLayoutAttribute.Height |
view.snp_centerX | NSLayoutAttribute.CenterX |
view.snp_centerY | NSLayoutAttribute.CenterY |
view.snp_baseline | NSLayoutAttribute.Baseline |
1 2 |
|
(2)视图关系(UIView/NSView)
比如想让view.left 大于等于 label.left:
1 |
|
这个其实等价于:
1 |
|
(3)严格检测(Strick Checks)
比如将宽度和高度属性设置为常量值:
1 2 3 |
|
3、给视图的各种属性设置约束
(1)width、height属性
自动布局允许宽度和高度设置为常量值
make.height.equalTo(20)
make.width.equalTo(
self
.buttonSize.width)
//当前视图与label的顶部齐平
make.top.equalTo(label.snp_top)
(2)left、right、top、centerX、centerY等其他属性
这些属性直接设置常量值,表示他们相对于父容器的相对约束条件。
http://www.hangge.com/blog/cache/detail_1097.html
来源:oschina
链接:https://my.oschina.net/u/2532095/blog/733556