Можно ли изменить направление жеста панорамирования реагирующего стека на экране? - PullRequest
0 голосов
/ 18 декабря 2018

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

Мои маршруты:

const MODAL_ROUTES = [
  SceneKeys.EditProfileNavigator,
  SceneKeys.PicturePreview
]

const navigator = createStackNavigator(
  {
    [SceneKeys.Main]: { // MAIN TAB BAR SCREEN
      screen: Main,
    },

    // Profile edit - comes from bottom, should not be dismissable by gestures
    [SceneKeys.EditProfileNavigator]: { 
      screen: EditProfileNavigator,
      navigationOptions: {
        gesturesEnabled: false,
      }
    },

    // Picture preview - comes from bottom, should be dismissible with gesture top to bottom
    [SceneKeys.PicturePreview]: {
      screen: PicturePreview,
    },

    // comes from right, should be dismissible by swiping from the left
    [SceneKeys.Conversation]: {
      screen: Conversation
    }
  },
  {
    headerMode: 'none',

    transitionConfig: (transitionProps, prevTransitionProps) => {
      const isModal = MODAL_ROUTES.some(
        screenName =>
          screenName === transitionProps.scene.route.routeName ||
          (prevTransitionProps && screenName === prevTransitionProps.scene.route.routeName)
      )
      return StackViewTransitionConfigs.defaultTransitionConfig(
        transitionProps,
        prevTransitionProps,
        isModal
      )
    }
  },
)

Все анимации и переходы работают нормально, однако основная проблема заключается в том, что экран PicturePreview можно отклонить с помощью жеста панорамирования слева направо - я хочу сверху внизувольнение жестом панорамирования для этого экрана в частности.

Установка режима полного стека на modal делает Conversation переход экрана снизу, когда я хочу переход справа налево

1 Ответ

0 голосов
/ 18 декабря 2018

Не тот ответ, который я искал, но я нашел решение своей проблемы.

По сути, я перевел свой навигатор на другой модальный навигатор.

Мои маршруты теперь выглядят так:

> Modal Stack navigator

  > Stack navigator

    > Tab Bar 
    > Conversation
    > Edit profile

  > Picture preview

Честно, если кто-то хочет предложить, как решить мою проблему другими способами - пожалуйста, сделайте

...