本文共 808 字,大约阅读时间需要 2 分钟。
- 笔者最近研究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
转载于:https://www.cnblogs.com/521it/p/5174219.html