React native 禁止手势触摸 pointerEvents

不羁岁月 提交于 2019-12-02 19:13:42

碰到一个需求是做个轮播图带自动播放的,UED那边给轮播的底部加了阴影渐变,如下红色区域。

 

 

 这样会导致一个问题,手触摸在红色区域会被这层View挡住,导致不能手动滑动切换。

原先采取过的方法是在对应的触摸事件 执行return false ,但是这个局限于轮播图得是红色区域的父组件。不然触摸无法冒泡上去。

发现有个好用的属性,以前从来没用过。pointerEvents 

看看官网的介绍:

  用于控制当前视图是否可以作为触控事件的目标。

  • auto:视图可以作为触控事件的目标。
  • none:视图不能作为触控事件的目标。
  • box-none:视图自身不能作为触控事件的目标,但其子视图可以

<View pointerEvents = 'none'></View>

这样就能完美的解决冲突了,直接不用管啥层级问题,冒泡捕获啥的都忽略。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!