我们可以看到RectTransform 的父类为 Transform,我们可以把RectTransform看做Transform的升级版

transformer相比resnet 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起始的那边实现。