我们可以看到RectTransform 的父类为 Transform,我们可以把RectTransform看做Transform的升级版
我们这里主要看下RectTransform多出的重要功能:
Anchors:
作用:
决定”锚点“在”父物体“中的位置和样式,取值范围为0(父物体左下) - 1(父物体右上)。
当值的最大和最小不相同的时候表示一个区间,这时锚点会散开,锚点的一边在最小值上,锚点的一边在最大值上,都一样的时候就会如上图在一个点上
父物体改变的时候子物体的位置和 大小
锚点为点的时候:可以控制位置
当父物体在横向上改变时 anchors的x起作用 :“父物体横向扩展或缩小时, 子物体与他的锚点之间的距离不变”
同理,纵向的也是:
当父物体在纵向上改变时 anchors的y起作用 :“父物体横向扩展或缩小时,子物体与他的锚点之间的距离不变”
锚点为区域的时候: 可以改变大小
锚点区域也具有同点一样的特性,但是在服务体拉伸的时候区域也会拉伸。
拉伸的值 = 父物体该方向上增大或缩小的值(不是父物体该方向上的值) * (anchors 上x或y的差值)
应用:
当我们子物体和父物体都一样大时, 子物体anchors的x为0(min) - 1 (max) y为 0(min) - 1 (max)
此时无论父物体怎么变,子物体都和父物体一样大
当锚点为点的时候我们可以控制子物体固定在父物体的某个位置
pivot:
作用:
反映gameObject(0,0)点 坐标, 取值范围0(左下) - 1(右上)
特性:
当物体改变width或height(代码改变而非手动去拉ui的边)的时候pivot处的内容不发生改变,远离pivot处的内容发生改变
应用:
当我们不知道ui有多长,但是想让ui的一边始终在起始位置,另一边随着ui内容的修改而扩展,我们可以把pivot设置为ui起始的那边实现。