[UGUI]ScrollRect滑动冲突

参考链接:

https://www.cnblogs.com/zhuhongjongy/p/5441069.html

1.ScrollRect和EventTrigger的冲突

ScrollRect中的滑动事件是通过EventTrigger来响应的,所以当item也是通过EventTrigger来响应事件时,就会遮挡住后面的ScrollRect滑动事件

这时可以使用Button组件的onClick去触发点击事件,由于同一个点击事件通过不同的事件模块去响应,所以很好的处理了item挡住ScrollRect的问题

如下,btn1使用EventTrigger来实现点击,btn2使用Button组件的onClick来实现点击。两者都可以触发点击方法,但是拖拽btn1时不能带动滑动列表,而btn2能

代码如下:

 1 public void AddButtonClick(GameObject go, UnityAction action)
 2 {
 3     Button button = go.GetComponent<Button>();
 4     if (button == null)
 5     {
 6         button = go.AddComponent<Button>();
 7     }
 8     button.onClick.RemoveAllListeners();
 9     button.onClick.AddListener(action);
10 }

2

原文地址:https://www.cnblogs.com/lyh916/p/12013765.html