2016-03-21 2 views
0

Я использую React Native's Navigator для навигации по сценариям в приложении iOS. Я обнаружил, что хотя я могу вернуться к предыдущему экрану, переместив его с левого края на правый, похоже, что область, которую я могу пронести, не такая большая или отзывчивая, как родная навигация. Иногда я немного отмахиваюсь от края, и это не работает.React Native Navigation Gesture

Мне интересно, есть ли способ применить некоторую настройку к этой области, т. Е. Сделать салфетки назад области немного больше, чтобы у пользователя был лучший шанс успеха.

ответ

1

Это может быть не лучшим решением, но вы можете изменить edgeHitWidth в NavigatorSceneConfigs.js

по умолчанию для «влево-вправо» составляет 30

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

0

Не знаю, если он все еще может помочь, но:

const SCREEN_WIDTH = require('Dimensions').get('window').width; 

const buildStyleInterpolator = require('buildStyleInterpolator'); 

const BaseSceneConfig = Navigator.SceneConfigs.HorizontalSwipeJump; 
const CustomBackGesture = Object.assign({}, BaseSceneConfig.gestures.jumpBack, { 
    // Make it so we can drag anywhere on the screen 
    edgeHitWidth: SCREEN_WIDTH, 

}); 
const CustomForwardGesture = Object.assign({}, BaseSceneConfig.gestures.jumpForward, { 
    // Make it so we can drag anywhere on the screen 
    edgeHitWidth: SCREEN_WIDTH, 

}); 
const CustomSceneConfig = Object.assign({}, BaseSceneConfig, { 
    // A very tighly wound spring will make this transition fast 
    springTension: 100, 
    springFriction: 1, 
    gestures: { 
    jumpBack: CustomBackGesture, 
    jumpForward: CustomForwardGesture, 
    }, 
}); 

вы можете настроить жест и edgeHitWidth: SCREEN_WIDTH делает трюк.

Смежные вопросы