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;

  • 相关阅读:
    [NOIP-P1125]逃亡的准备
    [NOIP-P1125]两个数差
    问题 B: [NOIP-P1125]飙车
    [NOIP-P1125]计算概率
    牛跳
    化学方程式
    c++第十七章-(内联函数)
    c++第十六章-(函数模板与类模板)
    《将博客搬至CSDN》
    cocoaPods安装与使用
  • 原文地址:https://www.cnblogs.com/tangaofeng/p/4848893.html
Copyright © 2011-2022 走看看