「Unity/リスト表示」の版間の差分
提供: 初心者エンジニアの簡易メモ
行17: | 行17: | ||
==リストの部品がずれる場合== | ==リストの部品がずれる場合== | ||
#prefub部品をダブルクリックして、RectTransformのTopとBottomを0にしてprefubを作り直す。 | #prefub部品をダブルクリックして、RectTransformのTopとBottomを0にしてprefubを作り直す。 | ||
− | # | + | #"Scroll View/Viewport/Content"にAddComponentsで、VerticalLayoutGroupを追加する |
+ | #そこにprefubのインスタンスを生成する | ||
+ | |||
+ | |||
+ | ==リストの部品がずれる場合(NGパターン== | ||
+ | 以下パターンだと、コンテンツが入らなかったり、スクロールが戻されたりして失敗する | ||
+ | #ContentSizeFilterのチェックを外すとか | ||
+ | #ContentのHeightを3000とかに以下のようにプログラムで広げるとか | ||
ContentのHeightを動的に変更 | ContentのHeightを動的に変更 | ||
GameObject panel = GameObject.Find("/Canvas/Scroll View/Viewport/Content/Panel"); | GameObject panel = GameObject.Find("/Canvas/Scroll View/Viewport/Content/Panel"); | ||
panel.GetComponent<RectTransform>().sizeDelta = new Vector2(w, h); | panel.GetComponent<RectTransform>().sizeDelta = new Vector2(w, h); |
2019年2月28日 (木) 22:06時点における版
リストのUIを作る
unity/UIScrollView [ショートカット]
- リスト内の部品はPanelで作ってprefub化する
- prefubはAssets/Resourcesにいれる
参考:https://tech.pjin.jp/blog/2016/08/30/unity_skill_3/
prefubを画面にロード
unity/3d [ショートカット]]
リストの部品(panel)をprefubからロードする
Instantiateのunity公式: https://docs.unity3d.com/jp/current/ScriptReference/Object.Instantiate.html
リストの部品がずれる場合
- prefub部品をダブルクリックして、RectTransformのTopとBottomを0にしてprefubを作り直す。
- "Scroll View/Viewport/Content"にAddComponentsで、VerticalLayoutGroupを追加する
- そこにprefubのインスタンスを生成する
リストの部品がずれる場合(NGパターン
以下パターンだと、コンテンツが入らなかったり、スクロールが戻されたりして失敗する
- ContentSizeFilterのチェックを外すとか
- ContentのHeightを3000とかに以下のようにプログラムで広げるとか
ContentのHeightを動的に変更
GameObject panel = GameObject.Find("/Canvas/Scroll View/Viewport/Content/Panel"); panel.GetComponent<RectTransform>().sizeDelta = new Vector2(w, h);