recttransform
转载自https://www.jianshu.com/p/4592bf809c8b
1.Anchor:子物体和父物体联系的桥梁,Anchors是由两个点确定的,他们就是AnchorMin以及AnchorMax,之所以anchorMax和anchorMin的值是小数,是因为其表征的是该点所在位置占父物体大小的比例,也就是图中黑色画线部分占灰色物体总长度和总宽度的比例
- 当anchorMax与anchorMin相等时,Anchor呈现为一个点,我称之为
锚点
- 当anchorMax与anchorMin不相等时,Anchor呈现为一个框,我称之为
锚框
(即示意图中的情况)
2.绝对布局
所谓的绝对布局,就是出现锚点
的情况,此时的recttransform面板中的属性变成了
在绝对布局的情况下无论分辨率是多少,父物体多大,该UI元素的大小是恒定的
而剩下的PosX
,PosY
,PosZ
表征的就是Pivot (第三部分有关于Pivot的讲解) 到锚点的距离
3.相对布局
Left
,Top
,Right
,Bottom
,PosZ
,其中的PosZ
表征的是该元素到父物体在Z轴上的偏移,利用这个值可以调整UI元素的显示顺序,不过我用的不多,这里不作太多讨论。剩下的四个值应该很好理解了,就是UI元素的每一条边距离父物体的每一条边的距离。4.pivot
Pivot中心点,就是该UI元素旋转缩放的中心点
5.Offset
OffsetMax的值值就是UI元素的右上角的坐标,减去AnchorMax的值,得到一个从AnchorMax指向元素右上角的向量(vector2类型)
6.sizeDelta
在锚点情况下,offsetMax和Min的起点相同,根据向量相减的三角形法则(不记得是不是这样说得了哈哈哈),可以得到一个新的向量,这个新的向量的X和Y的大小正好UI元素的宽和高相等,所以在这个时候去设置sizeDelta的值,可以直接调整UI元素的大小
在锚框的情况下,offstMax减去Min,得到的将不再是UI元素的大小,而是一个新的奇怪的向量,这个向量代表的物理意义是,sizeDelta.x值就是锚框的宽度与UI元素的宽度的差值,sizeDelta.y的值就是锚框的的高度与UI元素的高度的差值
7.rect
只读,可以获取UI大小
8.anchoredPosition
通过直接设置anchoredPosition的值可以改变UI元素的位置,在使用锚点
的情况下,anchoredPosition表征的是元素Pivot到Anchor的距离在使用锚框
的情况下,anchoredPosition表征的是元素Pivot到锚框中心点的距离
9.SetSizeWithCurrentAnchors(Animations.Axis axis, float size)
这个方法无论在绝对布局
还是相对布局
的情况下,都可以通过直接设置rect中的width
和height
值来改变UI元素的大小。
rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 100);
rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 100);
最新文章
- PHP优化小建议
- Spark入门实战系列--7.Spark Streaming(上)--实时流计算Spark Streaming原理介绍
- cocos2dx 3.x(定时器或延时动作自动调用button的点击响应事件)实现自动内测
- 排序算法总结(四)快速排序【QUICK SORT】
- 驱动开发学习笔记. 0.01 配置arm-linux-gcc 交叉编译器
- VS 2010配置Qt 4.8.5
- Cimg代码初探
- Linux下Wi-Fi的实现:wireless_tools和wpa_supplicant
- Jmeter 快速入门教程(三-2) -- 设置集结点
- 制作下拉菜单(PopupList)
- maven jetty
- python3中文字符编码问题
- c# splitter控件使用简介
- 杭电oj 1009 FatMouse' Trade
- java中把list列表转为arrayList以及arraylist数组截取的简单方法
- expdp导出文件,ORA-01555: 快照过旧: 回退段号 716
- locust 参数,数据详解
- IDEA编译器的常用快捷键
- Codeforces Round #446 Div. 1
- windows 实用技巧