「Unity/UIScrollView」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→横スクロールバー削除) |
(→縦スクロールの中にtextを表示) |
||
行1: | 行1: | ||
==縦スクロールの中にtextを表示== | ==縦スクロールの中にtextを表示== | ||
#HierarchyにUI/ScrollViewで作成 | #HierarchyにUI/ScrollViewで作成 | ||
− | # | + | #ScrollViewのViewportのContentの下で、左クリックから、UI/Textを新規追加 |
− | # | + | #ScrollViewのViewportのContentの下のTextを選択し、AddComponentでContentSizeFitterを追加 |
#ContentSizeFitterのVerticalfitをUnconstrainedからPreferredSizeにする | #ContentSizeFitterのVerticalfitをUnconstrainedからPreferredSizeにする | ||
2023年2月27日 (月) 22:48時点における版
目次
縦スクロールの中にtextを表示
- HierarchyにUI/ScrollViewで作成
- ScrollViewのViewportのContentの下で、左クリックから、UI/Textを新規追加
- ScrollViewのViewportのContentの下のTextを選択し、AddComponentでContentSizeFitterを追加
- ContentSizeFitterのVerticalfitをUnconstrainedからPreferredSizeにする
c#から文字を追加する場合はこんな感じ
GameObject text = GameObject.Find("/Canvas/Scroll View/Viewport/Content/Text"); text.GetComponent<Text>().text = @"利用規約 この利用規約~";
スクロールの下に移動する
scroll.verticalNormalizedPosition = 0;を追加すればよいが、 スクロールが一番下の1つ上までしか、いかないので、 表示処理の0.1秒後ぐらいに、実行すると、一番下まで行く。
Invoke("ScrollDownGui", 0.1f); void ScrollDownGui() { // スクロール下へ GameObject content = GameObject.Find("/Canvas/Scroll View/Viewport/Content"); GameObject scrollObj = GameObject.Find("/Canvas/Scroll View/"); ScrollRect scroll = scrollObj.GetComponent<ScrollRect>(); scroll.verticalNormalizedPosition = 0; content.GetComponent<ContentSizeFitter>().SetLayoutVertical(); }
参考:https://qiita.com/sonken625/items/adb6100f9f6d76dbdce4
スクロールView内にマテリアルを入れるとはみ出る
以下のような対応をすれば良いかも。
- 可能であれば、マテリアルを使わない。
- ScrollViewにaddComponents/RectMask2Dを設定
参考:https://tech.pjin.jp/blog/2017/02/22/unity_ugui_scrollbar/
参考:https://teratail.com/questions/98004
動的にリスト表示する時
unity/リスト表示 [ショートカット]
横スクロールバー削除
縦移動をなくす
ScrollViewのInspectorのScrollRectからVerticalのチェックを外す。