图一 图二项目中有些时候需要用到HorizontalLayoutGroup或者VerticalLayoutGroup来动态设置一些文本等其他组件保证适中或者其他需求
有时候就需要动态设置一些文本,使用 ContentSizeFitter 组件保证文本大小动态设置,如图一图二,会用到上诉组件 保证在窗口中心, 但是如果动态设置可能出现图三的情况
图三原因是因为ContentSizeFitter这个组件计算文本RectTransform会晚一帧执行,这个也能理解,虽然ContentSizeFitter有回调,但是使用起来不是很方便,包括以前使用 组件的延迟调用enble 来使他回归正常,但是使用这个发现有点麻瓜,于是找到了此方法
设置完成的时候 手动调用下 Group组件
LayoutRebuilder.ForceRebuildLayoutImmediate(Group);
这样 就会回归正常状态
ForceRebuildLayoutImmediate方法源码如下:
ForceRebuildLayoutImmediate源码 StripDisabledBehavioursFromList PerformLayoutControl PerformLayoutCalculation自己测试
试过这样调用,发现没什么卵用,老老实实的用上面的吧
网友评论