我在领航员下有领航员IOS,想隐藏领航员的导航栏来使用领航员IOS的导航栏.有什么办法吗?

这是我见过的screenshot个.我需要领航员IOS的后端..

我想要构建的 struct 如下:

├── 领航员Route1
│   ├── 领航员IOSRoute1
│   ├── 领航员IOSRoute2
│   └── 领航员IOSRoute3
└── 领航员Route2

我的代码如下.(基本上是从例子中获得的.

领航员

render: function(){
return (
  <领航员
    initialRoute={ROUTE_STACK[this.getInitialRouteIndex()]}
    initialRouteStack={ROUTE_STACK}
    style={styles.container}
    renderScene={this.renderScene}
    navigationBar={
      <领航员.NavigationBar
        routeMapper={NavigationBarRouteMapper}
        style={styles.navBar}
      />
    }
  />
);
}

领航员IOS

render: function(){
var nav = this.props.navigator;
 return (
  <领航员IOS
    style={styles.container}
    ref="nav"
    initialRoute={{
      component: UserSetting,
      rightButtonTitle: 'Done',
      title: 'My View Title',
      passProps: {nav: nav},
    }}
    tintColor="#FFFFFF"
    barTintColor="#183E63"
    titleTextColor="#FFFFFF"
  />
);

}

更新我的解决方案

我添加了一个用于更改状态的函数,该函数处理导航器的渲染,并将props 传递给组件以更改状态.

hideNavBar: function(){
  this.setState({hideNavBar: true});
},
render: function(){
 if ( this.state.hideNavBar === true ) {
  return (
    <领航员
      initialRoute={ROUTE_STACK[0]}
      initialRouteStack={ROUTE_STACK}
      renderScene={this.renderScene}
    />
  );
 }else{
  return (
    <领航员
      initialRoute={ROUTE_STACK[this.getInitialRouteIndex()]}
      initialRouteStack={ROUTE_STACK}
      style={styles.container}
      renderScene={this.renderScene}
      navigationBar={
        <领航员.NavigationBar
          routeMapper={NavigationBarRouteMapper}
          style={styles.navBar}
        />
      }
    />
  );
}

}

render: function(){
 var hideNavBar = this.props.hideNavBar;
 return (
  <领航员IOS
    style={styles.container}
    initialRoute={{
      component: UserSetting,
      rightButtonTitle: 'Done',
      title: 'My View Title',
      passProps: {hideNavBar: hideNavBar},
    }}
    tintColor="#FFFFFF"
    barTintColor="#183E63"
    titleTextColor="#FFFFFF"
  />
 );

}

推荐答案

在你的Navigator类中,看起来你正在通过一个导航栏.您可以在其中添加逻辑以传入任一导航器.NavigationBar或NavigationOrios栏,具体取决于要使用的导航栏.要做到这一点,您需要在Navigator中指定一个状态变量,当您想要更改栏时,该变量将被更新.

React-native相关问答推荐

AWS Amplify处理后端错误

为什么当我更换屏幕时playground 音乐不会停止?

GetStream:更改消息气泡背景

如何在react-native 中存储/保存数据

错误发生意外错误:https://registry.yarnpkg.com/react-native-template-react-native-template-typescript:未找到

React 从 babel 6 到 babel 7 的原生升级

React Native 上传到 S3 存储空间

如何在react-native 中加密和解密文本?

如何清除react-native webview cookie?

React Native - 如何判断 UI/元素?

Visual Studio 2017 中的 React Native

React Native 无法读取 index.android.delta

TouchableHighlight onPress 不起作用

试图注册两个同名的视图 RNGestureHandlerButton

react native图像不适用于特定 URL

react-native fetch 和基本身份验证

带有 xcode 模拟器的 react-native 有非常慢的alert

错误 React Native CLI 对本机依赖项使用自动链接,但以下模块是手动链接的

使用expo react-native链接?

如何更改后退按钮标签,react-navigation