赞
踩
问题描述
现在有一个需求,就是显示一个滑动列表
这个滑动列表里面的项目数量是不一定的,会适时刷新
在编辑器中,列表的使用是正常的。当打了包之后,就会出现列表无法滑动的情况。
这是由于ContentSizeFitter没有及时刷新的缘故。
列表结构
在滑动列表中,容器Content挂载了ContentSizeFitter和VerticalLayoutGroup,以便计算该容器内装载物体的高度。
在这个容器内,又装着两个标题及其对应的两个列表容器。这两个列表容器也同样挂载着ContentSizeFitter和VerticalLayoutGroup。
解决方案
打了log之后发现,列表初始化前后的高度没有改变,说明ContentSizeFitter没有刷新。
在初始化的代码后加上强制刷新的代码,随后列表就可以正常滑动了。
先刷新子列表的高度,随后再刷新父列表高度。
- LayoutRebuilder.ForceRebuildLayoutImmediate(m_List_1.GetComponent<RectTransform>());
- LayoutRebuilder.ForceRebuildLayoutImmediate(m_List_2.GetComponent<RectTransform>());
- LayoutRebuilder.ForceRebuildLayoutImmediate(m_obj_Content.GetComponent<RectTransform>());
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。