用户返回上一个屏幕而不是显示侧面菜单
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-navigation
或react-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,
)
);
【讨论】:
以上是关于用户返回上一个屏幕而不是显示侧面菜单的主要内容,如果未能解决你的问题,请参考以下文章