React native 禁止手势触摸 pointerEvents

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

 

 

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

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

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

看看官网的介绍:

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

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

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

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

posted @ 2019-10-29 16:54  萝卜爱吃青菜  阅读(1503)  评论(0编辑  收藏  举报