Верхний колонтитул рендеринга выше в верхней части бокового меню ящика

Ссылка на изображение

когда я открываю ящик, значки заголовка и границы все еще видны над боковым меню ящика. значок меню и логотип все еще отображаются, даже если ящик открыт. Я использовал стековый навигатор и навигатор.

const DrawerNav = DrawerNavigator({
    WEB: { screen: ScanScreen },
   },{
       initialRouteName: 'WEB',
       drawerPosition: 'right',
});
const PrimaryNav = StackNavigator({
    LoginScreen: { screen: LoginScreen, navigationOptions : {header: null} },
    DrawerNav: { screen: DrawerNav },
}, {
  headerMode: 'float',
  navigationOptions: ({navigation}) => ({
      initialRouteName: 'LoginScreen',
      headerTransparent: true,
    headerStyle: styles.header,
    headerTitleStyle : styles.headerTitleStyle,
    headerBackTitleStyle : styles.headerBackTitleStyle,
    headerLeft: <Image source={Images.logo_splash} style={styles.logo} />,
    headerRight: <TouchableOpacity onPress={() => navigation.navigate('DrawerToggle')}>
                    <Image source={Images.icon_navigation} style={styles.menu}/>
                </TouchableOpacity>
  })
});

StyleSheet.create({
  header: {
    backgroundColor: Colors.clear,
    borderBottomColor : Colors.pinkDark,
    borderBottomWidth: 0.5,
  },
  headerTitleStyle : {
    color: Colors.white
  },
  headerBackTitleStyle : {
    color: Colors.white
  },
  logo: {
    height:30,
    width:55,
    resizeMode: 'contain',
  },
  menu: {
    height:20,
    width:60,
    resizeMode: 'contain',
  },
}) 

1 ответ

Решение

Вам нужно будет немного изменить структуру навигации.

Теперь у вас есть StackNavigator и в нем есть ящик. Из-за вложенности заголовок StackNavigator будет отображаться над выдвижным ящиком, когда он открыт.

Вам нужно будет немного поиграть с настройкой. Один из способов, который должен работать, - это иметь корневой StackNavigator (1) со скрытым заголовком. В (1) у вас будет DrawerNavigator (2), в котором есть StackNavigator (3). в (3) у вас будет ваш веб-экран. В (1) у вас может быть другой StackNavigator с LoginScreen в нем.

Другие вопросы по тегам