zoukankan      html  css  js  c++  java
  • AutoLayout 使用详细

    1.实际应用中,这Compact,Any,Regular如何运用呢?

    w:Any h:Any 是我们刚建立工程时候默认选择的,算是一切描述的父类.其他的种类描述都是在此基础上变化的,比如:如果weight设为Any,height设置为Regular,那么在该状态下的界面元素在只要height为Regular,无论weight是Regular还是Compact的状态中都会存在.于是:

    w:Compact h:Compact - (w:Any h:Compact , w:Compact h:Any , w:Any h:Any)

    w:Regular h:Compact - (w:Any h:Compact , w:Regular h:Any , w:Any h:Any)

    w:Compact h:Regular - (w:Any h:Regular , w:Compact h:Any , w:Any h:Any)

    w:Regular h:Regular - (w:Any h:Regular , w:Regular h:Any , w:Any h:Any) 

    2. 再来看一组数据和一张图(国外一位博主给出的,很形象):

    iPhone4S,iPhone5/5s,iPhone6

    竖屏:(w:Compact h:Regular)

    横屏:(w:Compact h:Compact)

    iPhone6 Plus

    竖屏:(w:Compact h:Regular)

    横屏:(w:Regular h:Compact)

    iPad

    竖屏:(w:Regular h:Regular)

    横屏:(w:Regular h:Regular)

    3.可以总结为: 

    • 如果项目不支持横屏显示,使用w:Compact h:Regular(或者直接取消使用Size Class) 

    • 如果项目支持横屏显示,使用w:Compact h:Regular+w:Any h:Compact 

    • 对于一些公有的约束(任意组合中都适用),一般放在w:Any h:Any中设置 

    • iPad同理

    所以,我觉得Size Class最大的帮助是,解决横屏适配和iPhone iPad共享一个设计板…(个人意见) 

    试验反馈一

    1.首先,先建立一个工程,展开如下页面

    PS:这是iOS8的新特性,真的用到项目里需要等放弃兼容iOS7 。。。显然,目前还是不行的 

    2.在Any Any情况下,放置一个Label,并设置约束上-左-下-右为0-0-20-0

    3.在Compact Any情况下,又放置一个Label,并设置约束上为20

    4.最后切换到Regular Any下,完成6 Plus 的横屏显示

    试验反馈二

    试验一里面,验证了一下概念中所列举的各个屏幕适用的组合,接下来,算是Size Class 解决横屏的妙用

    PS:运用于,横屏适配,重新排版竖屏时候的UI布局 

    除了改动不同组合下约束,也能改动控件在不同组合下是否显示

    试验反馈三

    AutoLayout这里不给具体如何设置,因为不知道如何写,感觉还是大家多动手去写,去试,最有效了

    下面给出AutoLayout设置的图解

  • 相关阅读:
    BZOJ1406: [AHOI2007]密码箱 数论
    BZOJ5188: [Usaco2018 Jan]MooTube 并查集+离线处理
    BZOJ2662: [BeiJing wc2012]冻结 spfa+分层图
    BZOJ1297: [SCOI2009]迷路 矩阵快速幂
    BZOJ4887: [Tjoi2017]可乐 矩阵快速幂
    BZOJ5168: [HAOI2014]贴海报 线段树
    开发富文本编辑器的一些经验教训
    数据可视化的发展前景、商业/职业前景?
    市场调研中如何做数据分析?
    当前火热的短视频,背后有着哪些黑科技技术?
  • 原文地址:https://www.cnblogs.com/GJ-ios/p/5483455.html
Copyright © 2011-2022 走看看