UGUI系列——RectTransform之UI宽高和SizeDelta

16 篇文章 5 订阅
15 篇文章 8 订阅

UGUI系列其他博文,可通过导航帖查看

前言

上一篇博文简单的介绍了一些锚点及轴心的一些概念,及Position的在锚点不同状态下的显示情况,下面我们继续介绍RectTransform的属性

UI的宽高是我们经常需要获取的属性,它分两种情况

(1)锚点集中在一起

这种情况下,宽高是直接显示出来的
在这里插入图片描述
在debug模式下,可以直接看到SizeDelta,它这个时候代表的就是rect的宽高
在这里插入图片描述
这种情况下,我们在代码里,就有两种方式获取到当前UI的宽高

RectTransform rect = transform.GetComponent<RectTransform>();

1)通过sizeDelta
rect.sizeDelta

2)通过rect
rect.rect.size
它还有两个分别表示宽高的属性也可以使用
rect.rect.height
rect.rect.width

当前情况下,它们的输出值是一样的
在这里插入图片描述

(2)锚点分开

例如像这样
在这里插入图片描述
这个时候, 在原本显示宽高的地方,显示的属性就会发生变化

以Left为例,表示的是rect的左边到锚点形成的图形的左边的距离
在这里插入图片描述
这个时候
在这里插入图片描述
SizeDelta的x分量,表示的left和right的值的和
SizeDelta的y分量,表示的top和bottom的值的和

所以这个时候,你要在代码中获取UI的宽高尺寸,就需要用Rect属性,而不是SizeDelta
在这里插入图片描述

我会在我的公众号上推送新的博文,也可以帮大家解答问题
微信公众号 Andy and Unity 搜索名称或扫描二维码
在这里插入图片描述
希望我们能共同成长,共同进步

  • 20
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值