RectTransform各种属性

RectTransform是Unity画布UI的必要组件,用来继承并代替对象的Transform。相比较Transform,其多出了两个核心属性Anchor和Pivot,通过这两个属性,可以实现UI尺寸和位置的动态变换。

1.Anchor(锚点)
锚点由Min和Max两个点组成,组成情况共有三种

①当Min和Max完全重合时,会形成一个点,共有五个属性Width,Height,PosX,PosY,PosZ,
点前两个表达的是当前UI的宽度和高度,后面三个表达的是Anchor到Pivot的距离。

②当Min和Max四坐标展开时,会形成一个矩形,此时共有五个属性Left,Top,Right,Bottom,PosZ,其中Left表示UI的左边到矩形的距离,以此类推,PosZ可表示深度。

③当Min和Max分别重合于上下时,会形成一条线,共有五个属性PosX,Top,Width,Bottom和PosZ,这种情况下PosX变成了线到Pivot的垂直距离,其他三个属性与之前意义一样。

③当Min和Max分别重合于上下时,会形成一条线,这种情况下PosY变成了线到Pivot的垂直距离。

2.Pivot
其实就是UI的中心点,有关于ReacTransform的偏移,都是以这个点为原点。当AnchorMin和AnchorMax有重合时,PosX,PosY都指的是Anchor中心点到Pivot的距离。

3.offsetMax和offsetMin
offsetMax指UI元素的右上角的坐标,减去AnchorMax的值,得到一个从AnchorMax指向元素右上角的向量(vector2类型);
offsetMin指UI元素的左下角的坐标,减去AnchorMin的值;

4.sizeDelta
值为offsetMax-offsetMin
Anchor重合时,表示为UI左上角与右上角之间的距离,sizeDelta.x为UI的宽,sizeDelta.y为UI的高。
当Anchor不重合时,表示为插值,没有实际用法。

5.anchoredPosition
通过直接设置anchoredPosition的值可以改变UI元素的位置,anchoredPosition表征的是元素Pivot到Anchor或Anchor中心点的距离

6.一些方法
SetSizeWithCurrentAnchors(Animations.Axis axis, float size)
这个方法无论在绝对布局还是相对布局的情况下,都可以通过直接设置rect中的width和height值来改变UI元素的大小。

 rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 100);`

SetInsetAndSizeFromParentEdge(RectTransform.Edge edge, float inset, float size)
可以根据父物体的Edge(某一边)去布局。其中第一个参数就是用于确定基准的边,第二个参数是UI元素的该边界与父物体该边界的距离,第三个元素是设定选定轴上UI元素的大小

rectTransform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Right, 200, 400)

借鉴文章
https://blog.csdn.net/jmu201521121014/article/details/105725175

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值