一、发展史
iPhone1代/3G/3GS 不需要适配
iPhone4/4S/ipad 需要适配-autoresizing
iPhone5/5S/5C 需要适配(autoresizing) iOS6以后(autoLayout)
二、autoresizing-sb使用
注意:一定要把autoLayout去掉
上:跟父控件上边距离固定
下:跟父控件下边距离固定
左:跟父控件左边距离固定
右:跟父控件右边距离固定
中横:跟随父控件宽度进行变化
中竖:跟随父控件高度进行变化
三、autoresizing-代码使用
UIView.autoresizingMask 属性来设置.
UIViewAutoresizingNone //父控件的frame发生改变,子控件没有任何反应
UIViewAutoresizingFlexibleLeftMargin //距离父控件的左边间距是可伸缩的(右边是固定的)
UIViewAutoresizingFlexibleWidth //子控件的宽度跟随父控件的宽度伸缩而伸缩
UIViewAutoresizingFlexibleRightMargin //距离父控件的右边间距是可伸缩的(左边是固定的)
UIViewAutoresizingFlexibleTopMargin //距离父控件的顶边间距是可伸缩的(底边是固定的)
UIViewAutoresizingFlexibleHeight //子控件的高度跟随父控件的高度伸缩而伸缩
UIViewAutoresizingFlexibleBottomMargin //距离父控件的底边间距是可伸缩的(顶边是固定的)
四、AutoLayout - sb使用
1. Pin中的内容作用
上:自己上边距离另外一个控件的距离
下:自己下边距离另外一个控件的距离
左:自己左边距离另外一个控件的距离
右:自己右边距离另外一个控件的距离
Constrain to margins 选项 是 iOS8以后才有的
意思是左右两边默认有一个16的间距
width : 控件宽度
height : 控件高度
Equal Widths 等宽
Equal Heights 等高
Aspect Radio 等比例放大或者缩小
Align 多个组件对齐方式
2. Align中的内容
Leading Edges 左边对齐
Trailing Edges 右边对齐
Top Edges 顶部对齐
Bottom Edges 底部对齐
Horizontal Centers 中心点水平对齐
Vertical Centers 中心点垂直对齐
Baselines
Horizontal Center in Container 水平居中
Vertical Center in Container 垂直居中
五、AutoLayout - 代码使用
NSLayoutConstraint
六、第三方插件 - Masonry
导入插件
pod 'Masonry'
6.1使用