AutoLayout PG
一、Autolayout 中的概念
1,约束Basics
(1)常量值:偏移量与物理尺寸;
(2)关系:>=等关系;
(3)优先级(NSLayoutPriority)。
自动布局不能交叉有自定义子视图frame(layout subviews)的视图层级。
自动布局不能交叉有弹跳变化(bounce transform)的视图。
2,潜在Content Size
3,应用程序的架构
Auto Layout的架构把布局的活分给controller与view。
控制器的角色有以下功能:
3.1,setContentHuggingPriority:forAxis:
3.2,setContentCompressionResistancePriority:forAxis:
3.3,每个View都有NSLayoutPriorityDefaultHigh 或 NSLayoutPriorityDefaultLow属性。
二、IB中的约束
1,添加约束
虽然初始的xib没有约束,请不要保持这种状态。
2,编辑约束
3,删除约束
三、使用Autolayout编程
四、解决Autolayout问题
五、Autolayout例子
1,Scroll View使用Auto Layout
1.1,控制Sxroll view的内容大小
1.2,在scroll view中创建有锚的views
2,间距与
2.1,创建views间相等的间距
六、使用Autolayout实现自定义view
七、采用AutoLayout
可以让一个view通过translatesAutoresizingMaskIntoConstraints使用AutoLayout。
附录A:可视化语音(描述AutoLayout)
2,views的固有尺寸改变,必须通知auto layout
view调用invalidateIntrinsicContentSize通知layout。
阴影、雕刻线等装饰被忽略。