Frame 和 Bounds
bounds.origin 的作用:定义父类左上角的坐标
subview.center 代表子View的中心,用父View的坐标
-CGAffineTransform transform, 子视图不管父试图变不变形,它只会在已经变形过的父视图里绘制。
界面Autoresizing
主要工作:确定界面元素之间的距离
Structs:固定距离
Springs:根据界面尺寸按比例调整
界面AutoLayout
NSLayoutConstraint 只能表示线性关系,Multiplier + constant
Leading(左边)Trailing (右边)会根据语言环境改变而调换
Adaptive:
在不同的界面大小中加入不同的元素,这对于在不同的机型和方向中更改一些约束变得容易。
比如说字体大小:
Stack view:
比如说要使得物品排一排,通过Stack view就可以比较轻松地办到
Adaptive Layout
Alignment Rectangle: 布局时视为内容的区域
Content Hugging和Content Compression Resistance,可以通过调整优先级来判断谁会被拉伸和压缩
updateConstrains
Don’t call it directly
updateConstraintIfNeeded
setNeedsUpdateConstraints
layoutSubviews
must call super if using auto layout
invoke by layoutIfNeeded or setNeedsLayout
可以在调试时字Argument里面显示AlignmentRects