0531 - Autolayout 不仅可以做屏幕适配还可以做系统适配
uidynamic 做物理动画.能做的效果如下图:
Autolayout
Autolayout 是一种“自动布局”技术,专门用来布局UI界面的.有了Autolayout,请忘记frame
Autolayout 要比 Autoresizing 强大,两者水火不相容
Autolayout的2个核心概念
- 参照
- 约束
使用代码实现Autolayout - VFL(Visual Format Language)
实现思路如下:
NSLayoutConstraint的解释:
将一个UIview添加到父控件view上,使用NSLayoutConstraint参照约束实现:
为了简化Autolayout苹果公司推出了VFL语言
VFL示例1:
运行结果:
注意:里面的metrics是用来站位,就如[NSString StringWithFormat(@"%d", 10)]
如下图所示:
VFL示例2:
运行结果:
Autolayout对UILabel的影响,如下图:
AutoLayout做动画
注意:layoutIfNeeded
方法是用来Autolayout做动画使用的.setNeedsDisplay
是Quartz2D刷帧重绘DrawInrect:
往界面view的layer图层上绘制东西时用的