はじめに
「Unity-PullToRefresh」を Unity プロジェクトに導入することで
uGUI のスクロールを下に引っ張って更新できるようになります
使用例
使い方
using PullToRefresh; using UnityEngine.EventSystems; using UnityEngine.UI; public class MyScrollView : ScrollRect, IScrollable { private bool m_dragging; public bool Dragging { get { return m_dragging; } } public override void OnBeginDrag( PointerEventData eventData ) { base.OnBeginDrag( eventData ); m_dragging = true; } public override void OnEndDrag( PointerEventData eventData ) { base.OnEndDrag( eventData ); m_dragging = false; } }
ScrollRect を継承し、IScrollable を実装した独自の ScrollRect クラスを用意します
先ほど用意した ScrollRect コンポーネントを UI オブジェクトにアタッチして
されに「UIRefreshControl」コンポーネントをアタッチします
UIRefreshControl の「Scroll Rect」に独自の ScrollRect コンポーネントを設定し、
「Trans Icon Loading」にスクロール更新中に表示するオブジェクトを設定します
using PullToRefresh; using System.Collections; using UnityEngine; public class Example : MonoBehaviour { public UIRefreshControl m_control; private void Start() { // 表示更新する時に呼び出されるイベントを登録 m_control.OnRefresh.AddListener( OnRefresh ); } private void OnRefresh() { StartCoroutine( FetchDataDemo() ); } private IEnumerator FetchDataDemo() { yield return new WaitForSeconds( 1 ); // 表示更新を終了 m_control.EndRefreshing(); } }
最後にこのようなコードを記述することで
表示更新のイベントを検知できるようになります