码迷,mamicode.com
首页 > 其他好文 > 详细

SizeClass和Autolayout

时间:2015-09-30 14:14:47      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

1.Size Class是配合Auto Layout来使用的,让Auto Layout方式变得不那么复杂。

2.Size Classes其实就是将iOS设备屏幕的Size进行分类例如:iPhone4s横屏wCompact/hCompact,竖屏wCompact/hRegular ; iPhone5s(6,6+)横屏wRegular/hCompact,竖屏wCompact/hRegular ;iPad横竖屏都是wRegular/hRegular

3.理论上如果一个view没有任何constraint,那么view将没有位置及大小,但目前来看是没问题的,何解?原来如果不给一个view添加任何constraint,系统会自动给view添加左、上、宽、高四个约束,就是说新绿色的view会有固定的宽和高,然后以屏幕左上角为参考点,有一个系统添加的默认位置。(如果我们向绿色view添加任何其他约束,那么系统自动添加的约束将失效)

4.还有一个问题是,刚刚切换了很多不同类型的模拟器,相当于切换了不同的size class,但显示绿色view都正常,而size class的存在的目的就是为了区分不同的size class(例如:iPhone4s横屏wCompact/hCompact,iPhone4s竖屏wCompact/hRegular,iPad横竖屏都是wRegular/hRegular),然后来做不同的UI布局,何解?当前的size class为wAny/hAny,也就是说在size class为wAny/hAny的时候添加constraint,在其他size class的时候也生效。其实从字面上也可以看出,Any就是任何的意思,Compact和Regular是Any的子类。

5.使用autolayout的情况:

    a 当需要展示的内容很多并且尺寸不固定;

    b 程序需支持屏幕旋转(主要是iPad程序,iPhone程序横屏的场景有点非主流);

    c 程序通用于iPhone和iPad;

SizeClass和Autolayout

标签:

原文地址:http://www.cnblogs.com/tangaofeng/p/4848893.html

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