【问题标题】:How to swipe horizontally inside stackNavigator screens?如何在 stackNavigator 屏幕内水平滑动?
【发布时间】:2018-07-23 16:08:30
【问题描述】:

我正在尝试在同一 StackNavigator 的不同屏幕之间创建滑动导航

当我在navigationOptions 中设置swipeEnabled:true 时,我的应用程序宁愿在不同的选项卡之间导航。

例如,我宁愿在同一个堆栈中从 Screen A 导航到 Screen B

我该怎么做?

【问题讨论】:

    标签: react-native react-navigation


    【解决方案1】:

    我有同样的用例。我想要一个可滑动的<StackNavigator>。我能找到的解决方案是使用<TabNavigator> 模拟<StackNavigator>,或者更具体地说,使用createMaterialTopTabNavigator()

    我所做的是创建此选项卡(这是 react-navigation 2 中唯一允许swipeEnabled 的选项卡)并将display: none 添加到其样式中。这样我就可以拥有一个行为类似于<StackNavigator><TabNavigator>

    这是代码:

    const SwipeableNavigator = createMaterialTopTabNavigator({
      FrontCard: FrontCardScreen,
      BackCard: BackCardScreen
    },
    {
      swipeEnabled: true,
      tabBarOptions: {
        style: { display: "none" }
      }
    });
    

    然后只需拨打<SwipeableNavigator /> 即可。

    【讨论】:

    • 要隐藏标签栏,您还可以提供自定义标签栏组件:tabBarComponent: () => null。这样你就不必渲染然后用样式隐藏它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多