zoukankan      html  css  js  c++  java
  • Autolayout浅析


    - 笔者最近研究Autolayout的发现,有一些规律
    - 比如一般我们新建一个项目,默认Main.storyboard里面的控制器是一个正方形,Size是inferred类型,通常我们就在这里面进行Autolayout的布局,这个学的就是这样,没有问题。
    - 那么问题来了,做过翻页效果的小伙伴都知道,自定义一个控件来实现,通过xib来实现,那么那个最开始的那个UIView的尺寸,我们要关心嘛?Size是inferred类型,还是自由类型,然后更改它的尺寸,比如宽300高130,在第一个里面设置子控件的约束,还是在那个宽300高130的里面给子控件设置约束,笔者特地实验了一把,发现这个没有关系,随便你怎么设置,为什么?
    - 因为,你的那个最初的UIView尺寸会根据外面的尺寸而改变,不是由自己设置的尺寸决定的,那么,笔者认为,我们需要管理的就是里面的子控件的约束,相对于最初的那个UIView的约束,其他的也不用关心,因为你设置好里面的子控件的约束之后,它会自动去适配父控件的尺寸,不用你关心,如果还要你关心,那么苹果就做的不好


    warning 默认新建的xib里面的UITableCell的尺寸宽是320,高是44,当初理解为会像新建的storyboard里面的正方形一样,在里面开始布局,添加约束,因为那个正方形的size是inferred类型,可推测的,然而UITableViewCell是默认给的,这个不重要,就算你给了宽160,高40,它显示的时候不是由自己决定的,而是由它的tableView来决定,高度由tableView.rowHeight来决定,宽度和tableView的宽度一样的,所以,在那个320*44里面添加子控件并添加相应的约束,没有什么问题,它会默认按照那个约束显示的,over

     

     

     

  • 相关阅读:
    CSS3嵌入web字体与布局
    Hbase 技术细节笔记(下)
    Hbase 技术细节笔记(上)
    全排列算法(递归和字典)
    一分钟掌握位运算符—与(&)、非(~)、或(|)、异或(^)
    MySQL中count函数使用方法详解
    ZAB协议与Paxos算法
    泊松分酒(穷举法)
    hadoop解决Could not locate executable nullinwinutils.exe in the Hadoop binaries.问题
    Redis系列八:redis主从复制和哨兵
  • 原文地址:https://www.cnblogs.com/521it/p/5174219.html
Copyright © 2011-2022 走看看