博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
React Native的Navigator禁止全部界面的左滑手势和部分界面的手势
阅读量:4086 次
发布时间:2019-05-25

本文共 1716 字,大约阅读时间需要 5 分钟。

如果想禁用全部界面可以有下面二种方法:http://www.jianshu.com/p/643779ade201
方法一:
在使用Navigator时,配置configureScene的gestures为null

configureScene= {(route) => {             return ({                  ...Navigator.SceneConfigs.PushFromRight,                 gestures: null          });       } }

方法二:
自己定义个configureScene:

const NoBackSwipe = {    ...Navigator.SceneConfigs.HorizontalSwipeJump,      gestures: {        pop: {}      }  };

然后在Navigator标签下使用

{ return NoBackSwipe }} />

这里主要是处理了pop,其中还有jumpback,jumpforward的

如果你只是想禁用某些界面那可以看下面代码:
首先在Navigator配置的时候不要写死是哪个手势,要传进来:

configureScene={(route) => ({         ...route.sceneConfig || Navigator.SceneConfigs.PushFromRight,           gestures: route.gestures  })}

然后再你要跳转的时候,如果是要开启手势的:

const{navigator} = this.props;            if(navigator){                navigator.push({                    component: LoginView,                    sceneConfig: Navigator.SceneConfigs.PushFromRight,                    gestures: Navigator.SceneConfigs.PushFromRight.gestures                });            }

如果是要禁止手势的:

const{navigator} = this.props;        if(navigator){            navigator.push({                component: Home,                sceneConfig: Navigator.SceneConfigs.PushFromRight,                gestures: null            });        }

    在公司的项目中,有个隐藏的bug,是因为React Native 默认自带,可以右滑返回上一个页面,这种体验,我个人觉得是不错的,但是在有些时候,我们不希望通过手势可以返回上一个页面,或者说希望禁止掉某些单独的页面能够通过手势返回,在百度一番后,发现只有禁止掉所有页面的手势的资料,所以发个文,希望可以帮到有需求的朋友~~~

        好了,下面上代码....
           


1.png

这个Navigator的设置,想必大家不陌生。就是一些场景切换设置,初始路由的设置,重点是_configureScene 方法,如下


2.png

  可以看到。我们给route 设置了一个type的属性,如果type===noScroll的话,gestures:{},可以禁止掉手势返回事件, 如果你route的type不等于noScroll的话,还是可以手势返回上一个页面的。例如你从A页面跳转B页面,不希望B页面可以手势返回A页面就可以这样写了,



从A跳转B

好了,完事了。

转载地址:http://upeni.baihongyu.com/

你可能感兴趣的文章
原来k8s docker是用go语言写的,和现在所讲的go是一个东西!
查看>>
STM32CubeMX 真的不要太好用
查看>>
STM32CubeMX介绍、下载与安装
查看>>
不要买铝合金机架的无人机,不耐摔,易变形弯曲。
查看>>
ACfly也是基于FreeRTOS的
查看>>
F330装GPS的位置
查看>>
pixhawk也可以用Airsim仿真
查看>>
《无人机电机与电调技术》可以看看
查看>>
我发现七月在线的GAAS课程基本都讲到了
查看>>
电机堵转
查看>>
carzepony也在想往FreeRTOS上迁移
查看>>
可以买个好点的电烙铁
查看>>
ACfly调参记录(包括ACfly-F330和ACfly-T265)
查看>>
一定记得每飞几次或者隔一天要把螺丝和浆帽拧一次,确实会松的
查看>>
《多旋翼无人飞行器嵌入式飞控开发指南》里基于FreeRTOS的无人机软件框架
查看>>
思岚A1的SDK其实很好读懂,每个函数清晰明了,可以直接调用
查看>>
pixhawk(PX4)的一些论坛网站(包括中文版的PX4用户手册和PX4开发手册)
查看>>
串级 PID 为什么外环输出是内环的期望?(和我之前对串级PID的总结一样)
查看>>
我刚刚才完全清楚GPS模块的那根杆子是怎么固定安装好的
查看>>
去github里面找找也没有别人无人机+SLAM的工程
查看>>