内嵌ScrollView互不影响,比如外部翻页滑动条内嵌入内部文本滑动条
只需要将内部的UI PointerEventData传给父级即可
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using System;
public class CustomScrollRect : ScrollRect
{
public ScrollRect Parent;
public override void OnBeginDrag(PointerEventData eventData)
{
base.OnBeginDrag(eventData);
Parent?.OnBeginDrag(eventData);
//ExecuteEvents.Execute(Parent.gameObject, eventData, ExecuteEvents.beginDragHandler);
}
public override void OnDrag(PointerEventData eventData)
{
base.OnDrag(eventData);
Parent?.OnDrag(eventData);
//ExecuteEvents.Execute(Parent.gameObject, eventData, ExecuteEvents.dragHandler);
}
public override void OnEndDrag(PointerEventData eventData)
{
base.OnEndDrag(eventData);
Parent?.OnEndDrag(eventData);
//ExecuteEvents.Execute(Parent.gameObject, eventData, ExecuteEvents.endDragHandler);
}
}
该文章介绍了一种在Unity中处理内嵌ScrollView相互独立滑动的方法。通过重写CustomScrollRect类,将内部的PointerEventData事件传递给父级ScrollRect,确保外部翻页和内部文本滑动条可以独立操作,避免冲突。
1081

被折叠的 条评论
为什么被折叠?



