unity

Unity中[VerticalLayoutGroup]及[Hor

2019-11-29  本文已影响0人  腾讯网友

项目中有些时候需要用到HorizontalLayoutGroup或者VerticalLayoutGroup来动态设置一些文本等其他组件保证适中或者其他需求

图一  图二

有时候就需要动态设置一些文本,使用 ContentSizeFitter 组件保证文本大小动态设置,如图一图二,会用到上诉组件 保证在窗口中心, 但是如果动态设置可能出现图三的情况

图三

原因是因为ContentSizeFitter这个组件计算文本RectTransform会晚一帧执行,这个也能理解,虽然ContentSizeFitter有回调,但是使用起来不是很方便,包括以前使用 组件的延迟调用enble 来使他回归正常,但是使用这个发现有点麻瓜,于是找到了此方法

设置完成的时候 手动调用下 Group组件

LayoutRebuilder.ForceRebuildLayoutImmediate(Group);

这样 就会回归正常状态


ForceRebuildLayoutImmediate方法源码如下:

ForceRebuildLayoutImmediate源码 StripDisabledBehavioursFromList PerformLayoutControl PerformLayoutCalculation
自己测试

试过这样调用,发现没什么卵用,老老实实的用上面的吧

上一篇 下一篇

猜你喜欢

热点阅读