トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

LayoutElementsの子の中でサイズ変えるときはContentSizeFitterではなくLayoutGroup【uGUI】

 テキストチャットみたいなリストを作った

f:id:bibinbaleo:20210408101836p:plain

bibinbaleo.hatenablog.com

そのリストに入るチャットの中メッセージ量によって、そのチャットオブジェクトのサイズを変えようとContentSizeFitterを使ったら怒られた

f:id:bibinbaleo:20210407095944p:plain

LayoutGroupのControlChildSize

ContentSizeFitterではなく、LayoutGroupのControlChildSizeを使ってサイズを変えるんだって

基本的にこの記事の通り

flmt.jp

リストの親のLayoutGroupはControlChildSizeにする。ここはControlSizeFitterもつける

f:id:bibinbaleo:20210408102355p:plain

チャットプレハブにも同じようにLayoutGroupを付ける

f:id:bibinbaleo:20210408102438p:plain

Topは名前の幅分下げる。

そして長さの変わらない要素(名前とか)にはLayoutElementをつけて、IgonoreLayoutにチェック入れる。これでLayoutGroupの影響を受けない!

f:id:bibinbaleo:20210408102608p:plain

メッセージのテキストには何もつけなくていい。

 

これでMessageの長さを変えたら、プレハブの大きさも変わる!

f:id:bibinbaleo:20210408102718p:plain