facebook twitter hatena line email

「Unity/UIScrollView」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(横スクロールバー削除)
(同じ利用者による、間の5版が非表示)
行1: 行1:
==スクロールの中にtextを表示==
+
==縦スクロールの中にtextを表示==
 
#HierarchyにUI/ScrollViewで作成
 
#HierarchyにUI/ScrollViewで作成
 
#ScrollViewのViewportのContentの下にAddComponentでTextを追加
 
#ScrollViewのViewportのContentの下にAddComponentでTextを追加
行11: 行11:
  
 
==スクロールの下に移動する==
 
==スクロールの下に移動する==
 +
scroll.verticalNormalizedPosition = 0;を追加すればよいが、
 +
スクロールが一番下の1つ上までしか、いかないので、
 +
表示処理の0.1秒後ぐらいに、実行すると、一番下まで行く。
 +
<pre>
 +
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();
 +
}
 +
</pre>
 
参考:https://qiita.com/sonken625/items/adb6100f9f6d76dbdce4
 
参考:https://qiita.com/sonken625/items/adb6100f9f6d76dbdce4
  
行21: 行36:
  
 
参考:https://teratail.com/questions/98004
 
参考:https://teratail.com/questions/98004
 +
 +
==動的にリスト表示する時==
 +
[[unity/リスト表示]] [ショートカット]
 +
 +
==横スクロールバー削除==
 +
参考:https://www.chuken-engineer.com/entry/2019/11/12/160221#%E6%A8%AA%E3%82%B9%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%AB%E3%83%90%E3%83%BC%E3%82%92%E7%84%A1%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B
 +
==縦移動をなくす==
 +
ScrollViewのInspectorのScrollRectからVerticalのチェックを外す。
 +
 +
==ScrollBar==
 +
https://futabazemi.net/unity/scroll_bar/

2022年7月31日 (日) 00:00時点における版

縦スクロールの中にtextを表示

  1. HierarchyにUI/ScrollViewで作成
  2. ScrollViewのViewportのContentの下にAddComponentでTextを追加
  3. ScrollViewのViewportのContentの下にAddComponentでContentSizeFitterを追加
  4. 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/リスト表示 [ショートカット]

横スクロールバー削除

参考:https://www.chuken-engineer.com/entry/2019/11/12/160221#%E6%A8%AA%E3%82%B9%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%AB%E3%83%90%E3%83%BC%E3%82%92%E7%84%A1%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B

縦移動をなくす

ScrollViewのInspectorのScrollRectからVerticalのチェックを外す。

ScrollBar

https://futabazemi.net/unity/scroll_bar/