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

     

     

     

  • 相关阅读:
    服务端跳转和客户端跳转的区别
    jsp:include标签与include指令的区别
    jsp错误页不跳转显示500
    使用Cookie进行会话管理
    深入理解重定向和转发
    appium环境搭建(二)----搭建android开发环境
    appium环境搭建(一)----安装appium
    Fiddler实现移动端手机抓包
    黑盒测试人员必备技能
    SVN服务器搭建
  • 原文地址:https://www.cnblogs.com/521it/p/5174219.html
Copyright © 2011-2022 走看看