在游戏开发中,有很多列表都是代码根据需求动态实现的,比如排行榜列表,任务列表,关卡列表等。很多视频教程在讲列表组件VerticalLayoutGroup时,大部分都是在Unity3d 编辑器上面手动拖动创建,这个比较简单,在使用代码创建的时候,有些需要注意的地方,不知道这些地方总会出现一些意外情况,不是自己真实想要的结果。
比如有的时候用代码在VerticalLayoutGroup 插入排行榜的第一条记录时,会显示在面板的中间,如下图所示:
显示在中间
而我们想要的是让它从最上面开始显示。这个时候就需要调节显示数据的容器的锚点,把它的锚点修改为(0.5,1),如下图所示:
调节容器的锚点
另外一个问题是VerticalLayoutGroup 自适应高度,当列表容器中添加的数目比较多的时候,容器的高度可以自动变化,这样才可以使用ScollRect划动。需要在列表容器上面添加Content Size Fitter组件,并且将Vertical Fit选择为Preferred Size,警告不用管它,这是因为我把列表容器放在ScollRect下面了。如下图所示:
这样设置之后,VerticalLayoutGroup 就可以实现列表的正常显示了:
正常显示列表
如果有疑问可发关注下面的公众号,留言或加公众号里面的QQ群,有问必回。
求关注,求打赏.png
网友评论