snapKit自动布局库前身是OC版的Masonry

使用方法是经过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

//使当前视图对象的中心x坐标小于等于视图view2的左边的x坐标

make.centerX.lessThanOrEqualTo(view2.snp_left)

 

(2)视图关系(UIView/NSView) 

好比想让view.left 大于等于 label.left:

1

make.left.greaterThanOrEqualTo(label)

这个其实等价于:

1

make.left.greaterThanOrEqualTo(label.snp_left)

 

(3)严格检测(Strick Checks)
好比将宽度和高度属性设置为常量值:

1

2

3

make.height.equalTo(20)

make.width.equalTo(20)

make.top.equalTo(42)

三、给视图的各类属性设置约束

(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

相关文章
相关标签/搜索