用户返回上一个屏幕而不是显示侧面菜单

Posted

技术标签:

【中文标题】用户返回上一个屏幕而不是显示侧面菜单【英文标题】:User returns to previous screen instead of showing side menu 【发布时间】:2019-08-19 11:12:26 【问题描述】:

我有以下情况:有一个屏幕,我想在其中添加侧边菜单。可能我在将侧边菜单集成到我的应用程序时遇到了很多问题,但现在我用一个按钮创建了简单的菜单。所以,我想通过向右滑动来打开我的侧边菜单,但是当我这样做时,我导航到屏幕,它在导航中更高。我没有在导航的任何地方添加侧边菜单,因为我不明白它应该在哪里。我只是将它添加到渲染功能。在导航屏幕的“最高”处,此菜单正确显示。可能我不知道我应该附加哪个代码,这就是为什么要求我需要显示的代码,我会添加它。提前致谢!

UPD

这是我的应用导航器:

import React from 'react';
import  createAppContainer, createSwitchNavigator  from 'react-navigation';
import AuthorizationScreen from '../screens/AuthorizationScreen';
import MainTabNavigator from './MainTabNavigator';


export default createAppContainer(
  createSwitchNavigator(
    // You could add another route here for authentication.
    // Read more at https://reactnavigation.org/docs/en/auth-flow.html
    // Authorization: AuthorizationScreen,
    Main: MainTabNavigator,
  )
);

【问题讨论】:

你在用什么react-navigationreact-naive-navigation @fayeed,反应导航。更新了问题 【参考方案1】:

ios 中,当您从左侧滑动时,它应该返回到上一个屏幕,这是默认行为,因此 react-navigation 提供了一个名为 gestureEnabled 的道具,用于实现此行为

您是否可以使用手势关闭此屏幕。在 iOS 上默认为 true,在 android 上默认为 false。

在您的 Stack Navigator 中设置导航选项,如下所示:

Example: 
    name: 'Example Screen',
    screen: ExampleView
    navigationOptions: 
        gesturesEnabled: false,
    ,
,

至于您应该如何以及在何处添加抽屉,您可以将其添加到您的MainTabNavigator,如下所示:

const MainTabNavigator = createDrawerNavigator(
  
    Home: HomeScreen,
    Profile: ProfileScreen,
  ,
  
    intialRouteName: 'Home',
  
);

export default createAppContainer(
  createSwitchNavigator(
    Main: MainTabNavigator,
  )
);

【讨论】:

以上是关于用户返回上一个屏幕而不是显示侧面菜单的主要内容,如果未能解决你的问题,请参考以下文章

汉堡菜单/侧面菜单出现错误

从侧面而不是屏幕底部输入飞镖编号字段(用于横向)

我的手机为啥直播看不到屏幕?

如何使向上按钮返回而不是打开导航抽屉

获取 Windows 用户显示名称

侧面导航中的角材料滑动过渡?