1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

TextMeshProのコンテンツサイズを可変にする際の備忘録

Posted at

この記事について

TextMeshProのコンテンツサイズを、テキストに応じて可変にした際に
分かりにくかったところを備忘録としてまとめます。

テキストに応じて可変にする

スクリーンショット 2024-04-11 17.22.05.png 2888f61d1758d4914ca18d30c80fb542.gif

コンテンツを可変にするだけなら、ContentSizeFitterをアタッチして
Preferred Sizeを指定するだけで良い。とても簡単。

レイアウトグループに組み込む

さて、コンテンツサイズを可変にしたいという事は、大抵の場合レイアウトグループに入れる事になると思います。
そうするとContentSizeFitterに下記のような警告文が出ます

Parent has a type of layout group component.
A child of a layout group should not have a Content Size Fitter component.
since it should be driven by the layout group.

親がレイアウトグループタイプのコンポーネントを持っています。
レイアウトグループの子は、ContentSizeFitterを持つべきではありません。
なぜなら、ContentSizeFitterはレイアウトグループによって駆動されるべきだからです。

警告に従ってみる

警告に従い、TextMeshProの方からはContentSizeFitterを削除し
LayoutGroupの方にContentSizeFitterをアタッチしてみる

スクリーンショット 2024-04-11 17.56.44.png 53484852a9a4298ce864987ec2c70704.gif

TextMeshProのコンテンツサイズが変化しなくなった。悲しい。

ContentSizeFitterはレイアウトグループによって駆動されるべきだからです

言い換えると、親が子供のサイズを制御すべき。
なるほど、つまり Control Child Size を使えばいい。

スクリーンショット 2024-04-11 18.49.55.png be1a5b250b9620c6a935309cc0aabb59.gif

まとめ

  • コンテンツサイズを可変にするにはContentSizeFitterを使う
  • LayoutGroupを使う場合は、LayoutGroupにContentSizeFitterをアタッチする
  • Control Child Sizeにチェックを入れる
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?