很多新人对于这几个东西,都不是很理解概念比较混淆。所以整理下自己的思绪,写下这篇文章。
要描述一个控件最基本的信心就是 :位置 ,大小 也就是point 和size
而frame 就是囊括这个信息的最小单元了。
autosize 就是自适应大小,适应父控件的大小 ,比如我希望我的控件随着父控件的大小的变化而变化,不需要手动更新frame ,这个时候 autosize 就应运而生了。
而autolayout 也是自适应 ,autosize 和autolayout 的最大区别在于 坐标系的不同。
autosize 基于绝对坐标,而autolayout基于相对坐标 ,
这就好比描述一个物体的位置,我们可以使用 经度,纬度来描述它 ,也可以这样描述它:“在某某大厦的对面”
autolayout 能够描述与之相关控件之间的关系 ,而autosize 则不会与相邻的控件有任何关系,因为 只要绝对坐标不改,它永远就在那里 ,不会受其他因素的干扰。
而一个很好的相对坐标却能解决很多事 ,最常见的 好比军训 向左看齐。
如果我们要移动这一列向左看齐的队伍的话,
最简单的方法就是移动最左边的那个人的位置 ,然后再说一句 “向左看齐”,这样整个队伍都移动了。
这也是autolayout的强大之处 。
时间: 2024-11-05 14:45:38