当前位置: 首页 > news >正文

关于unity的组件VerticalLayoutGroup刷新显示不正常的问题

先说明一下我是如何用到,有哪些处理的
用到这个组件基本上都是将列表进行排版操作的,竖着,或者横着,横着用HorizontalLayoutGroup
还有一个和这个组件搭配的组件叫ContentSizeFitter
先说我是怎么发现这个组件不好用的

//本地读取测试数据
//StartCoroutine( FileTools.ReadData(“日常.json”, Callback));
private void Callback(string obj)
{
JObject keys = JToken.Parse(obj) as JObject;
JArray keys1 = keys.GetValue(“data”) as JArray;
for (int i = 0; i < keys1.Count; i++)
{
JObject keys2= keys1[i] as JObject;
GameObject game = Instantiate(gamel, parentl);
game.SetActive(true);
}
RebuildContextUI();
}
public void RebuildContextUI()
{
//LayoutRebuilder.ForceRebuildLayoutImmediate(parentl1);
}
上述代码
就是读取数据然后解析完了,生成数据显示的item,然后刷新一下layout,没啥不对劲的,但是就是需要手动刷新一下,就像这样
private void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
RebuildContextUI();
}
}
然后我发现子物体下有一个这样的代码
private void Update()
{
neirong.rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, neirong.preferredHeight);
image.rectTransform.sizeDelta = new Vector2(image.rectTransform.sizeDelta.x, neirong.rectTransform.rect.height + heightl);
}
这段代码是实时去计算text的长度然后有个竖线的图片根据text的长度去变长还是变短
这段代码其实不用实时计算的,我就把他放到了start里,子物体生成后text的内容也填满了,根本不需要实时计算,我再想是不是这个原因导致的RebuildContextUI函数不起作用。
嘿嘿还真不是,艹,麻爪了,封装的函数不起作用,会不会是ContentSizeFitter组件的问题?更改下模式,发现可行,显隐一下VerticalLayoutGroup组件,发现问题也能解决。当我把代码还原回去后,吧RebuildContextUI函数改变一下
public void RebuildContextUI()
{
VerticalLayoutGroup verticalLayout= parentl1.GetComponent();
verticalLayout.enabled = false;
verticalLayout.enabled = true;

}
发现还是不行,我艹了,手动在场景里改可以,代码就不行,然后试试吧子物体的update的函数的内容放到start,就是之前说的计算text长度的,这回这个显隐就生效了。子物体显示出来后也能正常显示,子物体里的text长度也没有收到影响。如果还是不行,我真是麻了
http://www.lryc.cn/news/273766.html

相关文章:

  • wait 和 notify 这个为什么要在synchronized 代码块中?
  • 大白话说区块链和通证
  • Jvm之垃圾收集器(个人见解仅供参考)
  • Minitab 21软件安装包下载及安装教程
  • Java版商城:Spring Cloud+SpringBoot b2b2c电子商务平台,多商家入驻、直播带货及免 费 小程序商城搭建
  • 阿里云被拉入黑洞模式怎么办?该怎么换ip-速盾网络
  • Android 13.0 recovery竖屏界面旋转为横屏
  • 异地环控设备如何远程维护?贝锐蒲公英解决远程互联难题
  • flutter 判断是否是web环境
  • 视频智能分析/云存储平台EasyCVR接入海康SDK,通道名称未自动更新该如何解决?
  • 后端开发——JDBC的学习(三)
  • Redis 生产环境查找无过期时间的 key
  • Visual Studio 2017编译Python3.8.18源码
  • 【mujoco】Ubuntu20.04中解决mujoco报错raise error.MujocoDependencyError
  • 机器学习的三个方面
  • 关于一名资深Java程序员在移动端的进阶之路
  • clickonce excel 插件发布安装的原理
  • 关于MySQL Cluster
  • 牵绳遛狗你我他文明家园每一天,助力共建文明社区,基于YOLOv7开发构建公共场景下未牵绳遛狗检测识别系统
  • 命令行艺术:简洁指南,效率倍增 | 开源日报 No.136
  • python基础教程五(字典概念和基本操作)
  • 【Delphi 基础知识 11】重载函数的使用
  • 经典目标检测YOLO系列(一)YOLOV1的复现(1)总体架构
  • 《设计模式》之策略模式
  • Django文章标签推荐
  • Git、TortoiseGit进阶
  • 山区老人爱的礼物丨守护银龄,情暖寒冬
  • 【计算机算法设计与分析】n皇后问题(C++_回溯法)
  • Calendar日历类型常见方法
  • Docker-Compose部署Redis(v7.2)主从模式