From e8af73e4d9c51abe7ade61406cac8ade301d242c Mon Sep 17 00:00:00 2001 From: kacperkapusciak Date: Mon, 4 Jul 2022 11:36:28 +0200 Subject: [PATCH 1/7] fix: don't change screen on which you handleSwipe when we were swiping with the current logic in the next frame properties were taken from previous screen --- ios/RNSScreenStack.mm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/RNSScreenStack.mm b/ios/RNSScreenStack.mm index 67d8e893cf..1eb76cc78f 100644 --- a/ios/RNSScreenStack.mm +++ b/ios/RNSScreenStack.mm @@ -675,7 +675,7 @@ - (void)setupGestureHandlers - (void)handleSwipe:(UIPanGestureRecognizer *)gestureRecognizer { - RNSScreenView *topScreen = ((RNSScreen *)_controller.viewControllers.lastObject).screenView; + RNSScreenView *topScreen = _reactSubviews.lastObject; float translation; float velocity; float distance; From 893ca9750078afbb42c69ada7661456325c919ee Mon Sep 17 00:00:00 2001 From: kacperkapusciak Date: Mon, 4 Jul 2022 11:43:29 +0200 Subject: [PATCH 2/7] chore: add example Co-authored-by: Wojciech Lewicki --- TestsExample/App.js | 3 +- TestsExample/src/Test.tsx | 68 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 TestsExample/src/Test.tsx diff --git a/TestsExample/App.js b/TestsExample/App.js index cdd5348eb0..f60abd055c 100644 --- a/TestsExample/App.js +++ b/TestsExample/App.js @@ -78,13 +78,14 @@ import Test1260 from './src/Test1260'; import Test1296 from './src/Test1296'; import Test1299 from './src/Test1299'; import Test1419 from './src/Test1419'; +import Test from './src/Test'; enableFreeze(true); export default function App() { return ( - + ); } diff --git a/TestsExample/src/Test.tsx b/TestsExample/src/Test.tsx new file mode 100644 index 0000000000..f4a8937a6f --- /dev/null +++ b/TestsExample/src/Test.tsx @@ -0,0 +1,68 @@ +import {NavigationContainer, ParamListBase} from '@react-navigation/native'; +import * as React from 'react'; +import {Button, Text, View} from 'react-native'; +import { + createNativeStackNavigator, + NativeStackNavigationProp, +} from 'react-native-screens/native-stack'; + +function First({ + navigation, +}: { + navigation: NativeStackNavigationProp; +}) { + return ( + + First Screen +