zoukankan      html  css  js  c++  java
  • SizeClass和Autolayout

    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;

  • 相关阅读:
    Memcached 缓存服务器介绍
    hibernate ——联合主键
    hibernate ——关联关系
    Spring与Struts整合
    spring-DataSource
    hibernate ——helloWorld程序(annotation配置)
    hibernate ——helloWorld程序(XML配置)
    Struts2 知识体系
    Encoding filter 编码过滤器
    jQuery.ajax() 函数详解
  • 原文地址:https://www.cnblogs.com/tangaofeng/p/4848893.html
Copyright © 2011-2022 走看看