使用方法是經過snp_makeConstrainsts方法給view添加約束,分別有邊距、寬、高、坐上右下距離、基準線。同時,添加過約束後能夠有修正,修正有位移修正(inset、offset)和倍率修正(multipliedBy)html
iconView.snp_makeConstraints { (make) inless
make.edges.equalTo(contentView)佈局
}spa
語法通常是:make.equalTo或make.greaterThanOrEqualTo或make.lessThanOrEqualTo+倍數和位移修正code
.equalTo:等於htm
.lessThanOrEqualTo:小於等於對象
.greaterThanOrEqualTo:大於等於blog
注意:使用snp_makeConstrainsts方法的元素必須事先添加到父元素中ip
2.約束條件參數支持類型ci
(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 |
|
三、給視圖的各類屬性設置約束
(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