'Swipe Gesture not working in React Navigation v6 in IOS build
I am using Expo SDK 43 and React Navigation v6 for my react native app. I have used React Drawer Navigation in my app navigation. In the development mode inside expo, drawer open and close functions are working perfectly along with Swipe right gesture. When I swipe right at the edge of the app view the Drawer Panel opens perfectly. But when I am building the app using EAS build to submit it to the app store, in the built version the Swipe Gesture is not working at all. The open/close function on a button click is working fine but Swipe gesture is not responding.
const StudentNavigator = () => {
return (
<DashboardDrawer.Navigator
screenOptions={{
headerShown: false,
gestureEnabled: true,
swipeEnabled: true,
drawerType: "slide",
swipeEdgeWidth: 100,
swipeMinDistance: 100,
}}
drawerContent={(props) => <CustomDrawer {...props} />}
>
I increased the swipeEdgeWidth
and swipeMinDistance
values to see if that has any effect but nothing makes it working in IOS build. In Android build everything is working fine. What am I missing here? Is it a bug in expo SDK or anything else?
Here is my package.json configuration:
{
"name": "----------",
"version": "1.0.0",
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"eject": "expo eject"
},
"dependencies": {
"@expo-google-fonts/lato": "^0.2.0",
"@react-native-community/datetimepicker": "3.5.2",
"@react-native-community/netinfo": "6.0.2",
"@react-navigation/drawer": "^6.1.8",
"@react-navigation/native": "^6.0.8",
"@react-navigation/native-stack": "^6.2.5",
"axios": "^0.24.0",
"expo": "~43.0.2",
"expo-app-loading": "~1.2.1",
"expo-application": "~4.0.0",
"expo-av": "~10.1.3",
"expo-camera": "~12.0.3",
"expo-constants": "~12.1.3",
"expo-device": "~4.0.3",
"expo-document-picker": "~10.0.3",
"expo-file-system": "~13.0.3",
"expo-font": "~10.0.3",
"expo-image-manipulator": "~10.1.2",
"expo-image-picker": "~11.0.3",
"expo-intent-launcher": "~10.0.3",
"expo-linking": "~2.4.2",
"expo-network": "~4.0.3",
"expo-notifications": "~0.13.3",
"expo-screen-orientation": "~4.0.3",
"expo-secure-store": "~11.0.3",
"expo-status-bar": "~1.1.0",
"expo-updates": "~0.10.15",
"lottie-react-native": "4.0.3",
"moment": "^2.29.1",
"react": "17.0.1",
"react-dom": "17.0.1",
"react-moment": "^1.1.1",
"react-native": "0.64.3",
"react-native-autoheight-webview": "^1.6.1",
"react-native-countup": "^0.0.2",
"react-native-gesture-handler": "~1.10.2",
"react-native-ipify": "^1.0.0",
"react-native-pager-view": "5.4.6",
"react-native-paper": "^4.10.1",
"react-native-ratings": "^8.1.0",
"react-native-raw-bottom-sheet": "^2.2.0",
"react-native-reanimated": "~2.2.0",
"react-native-safe-area-context": "3.3.2",
"react-native-screens": "~3.8.0",
"react-native-snap-carousel": "^3.9.1",
"react-native-tab-view": "^3.1.1",
"react-native-web": "0.17.1",
"react-native-webview": "11.13.0",
"react-redux": "^7.2.6",
"redux": "^4.1.2"
},
"devDependencies": {
"@babel/core": "^7.12.9"
},
"private": true
}
Solution 1:[1]
Try detachPreviousScreen: false in options of Stack Screen with gestureEnabled: true for ios if screen freezes on back swipe.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 |