在项目中,会遇到需要根据子物体长度改变父物体长度的情况。一般情况下,使用Horizontal Layout Group 和 Content Size Fitter 这两个组件就可以解决,如下图
1.通过设置父对象的锚点可控制向哪边延伸,比如我想让它往右下延伸,而不是像上图往两边延伸的话,将锚点Pivot设置成(0,1),如下图
2.通过控制Horizontal Layout Group的Padding参数来控制文本与边框的距离,如下图
那么我们如果想要让两个对象一样长的话,那么就需要以下步骤:
1.给他们一个共同的父对象,如上图的“go”。在“go”上添加一个 Vertical Layout Group(Horizontal Layout Group也是可以的),勾选上Control Child Size的Width。这个参数的作用就是使父物体保持跟子物体同等长度。然后在父物体上挂上Content Size Fitter 组件,Horizontal Fit选择Preferred Size。设置如下图所示
2.在两个对象上挂上Horizontal Layout Group,勾选上Control Child Size的Width,Child Force Expand的Width。这个参数的作用是使子物体保持跟父物体同等长度。(注意,这俩个物体此时已经不需要Content Size Fitter 组件,因为已经由父物体"go"来控制他的尺寸了,所以如果之前带了这个组件,可以移除它)。俩个对象的设置如下图
这时发现,两个对象已经如我们所想的可以根据他下方的文本长度同时自适应了。