一:效果演示
二:前言
Unity中如果两个ScrollRect嵌套在一起,后面的会挡住前面的,当在二级列表区域拖动时导致一级列表无法滑动
三:实现原理
根据滑动的方向,来进行事件的渗透传递,如果当前滑动方向与组件的滑动方向不一致则把事件传递给父级列表
UGUI提供了事件执行的方法:ExecuteEvents.Execute
四:代码实现
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
using Skyunion;
/// <summary>
/// 嵌套滑动框
/// </summary>
/// 支持嵌套滑动列表的滑动
public class ScrollRectNested : ScrollRect
{
/// <summary>
/// 滑动方向
/// </summary>
enum EScrollDir
{
Horizontal,