码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 进阶 第二十一天(0531)

时间:2016-01-09 20:11:51      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:

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图层上绘制东西时用的


iOS 进阶 第二十一天(0531)

标签:

原文地址:http://www.cnblogs.com/lyandy/p/5116952.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!