iOS 对某页面禁用 左侧滑pop返回的手势

通过询问ChatG-PT,稍作修改,终于找到两种方式,代码如下:

import React, { Component, useEffect, useContext } from 'react';
import { View } from 'react-native';
import { Actions, Scene, Router } from 'react-native-router-flux';

const MyScene = () => {

  useEffect(() => {
    setTimeout(() => {
      Actions.scene2()
    }, 1000);
  }, [])

  return (
    <View style={{ flex: 1 }}>
      {/* 页面内容 */}
    </View>
  );
};

const MyScene2 = () => {
  useEffect(() => {
    setTimeout(() => {
      Actions.scene3()
    }, 1000);
  }, [])

  return (
    <View style={{ flex: 1 }}>
      {/* 页面内容 */}
    </View>
  );
};


class MyScene3 extends Component {
  // 方式一
  // static navigationOptions = {
  //   gesturesEnabled: false, // 禁用左滑返回手势
  // };

  render() {
    return (
      <View>
        {/* 页面内容 */}
      </View>
    );
  }
};


const App = () => {
  return (
    <Router>
      <Scene key="root" modal={true}>
        <Scene key="scene1" component={MyScene} title="Scene 1" />
        <Scene
          key="scene2"
          component={MyScene2}
          title="Scene 2"
        // gesturesEnabled={false}
        />
        <Scene key="scene3" component={MyScene3} title="Scene 3"
          // 方式二
          gesturesEnabled={false}
        />
      </Scene>
    </Router>
  );
};

export default App;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容