最近新项目中使用SDAutoLayout,就稍微整理了一下
我的demo在这里,具体的实现和方法详细注释都在demo中
1、方法简介
方法名中带有“SpaceToView”的需要传递2个参数:(UIView)参照view 和 (CGFloat)间距数值,表示到view的间距
方法名中带有“RatioToView”的需要传递2个参数:(UIView)参照view 和 (CGFloat)倍数,表示view的宽高的倍数
方法名中带有“EqualToView”的需要传递1个参数:(UIView)参照view,表示与view在某端对齐
方法名中带有“Is”的需要传递1个参数:(CGFloat)数值 ,表示是多少
另外:
1.spaceToSuperView 需要传递1个参数 (UIEdgeInsets) 表示到父视图的间距
2.updateLayout 主动更新约束
注意点:
1.控制器内部修改约束:
view.sd_layout.widthRatioToView(self.view, _widthRatio); //在方法内部更新View要修改的约束条件
[view updateLayout]; // 调用此方法更新约束
2.如果是父子关系视图,且更新有动画效果的话,更新父视图约束时,子视图也同样得调用updateLayout方法;