Обновить ScrollView в Unity3D - PullRequest
       0

Обновить ScrollView в Unity3D

0 голосов
/ 27 октября 2018

Кто-нибудь знает, как обнаружить, если компонент пользовательского интерфейса "ScrollView" был активирован ?. Это планируется сделать так, как если бы вы обновляли канал в YouTube или Facebook жестом смахивания вверх. Он должен обнаружить жест и затем вызвать метод, который у меня есть: refresh (); Спасибо.

1 Ответ

0 голосов
/ 27 октября 2018

ScrollRect:

Вы можете подписаться на событие ScrollRect onValueChanged, и оно будет вызываться при изменении ScrollRect.

public ScrollRect scrollRect;

void OnEnable()
{
    scrollRect.onValueChanged.AddListener(ScrollChanged);
}

void OnDisable()
{
    scrollRect.onValueChanged.RemoveAllListeners();
}

void ScrollChanged(Vector2 pos)
{
    Debug.Log("Scroll changed pos to: " + pos);
}

.или вы можете реализовать интерфейс IScrollHandler и использовать функцию OnScroll.Сценарий должен быть прикреплен к GameObject, который имеет компонент ScrollRect, чтобы он работал.

public class ScrollDetector : MonoBehaviour, IScrollHandler
{
    public void OnScroll(PointerEventData eventData)
    {

    }
}

Полоса прокрутки:

При использованииScrollbar, тогда функция обратного вызова, которую вы регистрируете с помощью события onValueChanged, должна использовать float вместо vector2 в качестве параметра.

void ScrollChanged(float val)
{

}

или реализовать интерфейс IMoveHandler и использовать OnMoveфункция

public class ScrollDetector : MonoBehaviour, IMoveHandler
{
    public void OnMove(AxisEventData eventData)
    {

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...