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;

  • 相关阅读:
    XMLHttpRequest简介
    BC30138: 无法在路径“C:\WINDOWS\TEMP\”中创建临时文件: 拒绝访问。
    开机explorer无法启动,无法进入桌面
    选择DataGrid中的CheckBox控件后该行背景变色
    CSS菜单制作工具
    ScriptX打印控件的使用
    JS实时预览上传图片缩略图
    readyState的五种状态详解
    xmlHttpRequest的status的值的含义
    C#调用word打印
  • 原文地址:https://www.cnblogs.com/tangaofeng/p/4848893.html
Copyright © 2011-2022 走看看