From 3c84dd80fb55b67011a5c326f48e32a41c6859af Mon Sep 17 00:00:00 2001 From: Jakub Piasecki Date: Mon, 27 Apr 2026 07:47:48 +0200 Subject: [PATCH] Fix stuck iOS pressables --- .../src/components/Pressable/stateDefinitions.ts | 3 +++ .../src/v3/components/Pressable.tsx | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/react-native-gesture-handler/src/components/Pressable/stateDefinitions.ts b/packages/react-native-gesture-handler/src/components/Pressable/stateDefinitions.ts index 47d75606cc..650f6a78d9 100644 --- a/packages/react-native-gesture-handler/src/components/Pressable/stateDefinitions.ts +++ b/packages/react-native-gesture-handler/src/components/Pressable/stateDefinitions.ts @@ -61,6 +61,9 @@ function getIosStatesConfig( eventName: StateMachineEvent.NATIVE_BEGIN, callback: handlePressIn, }, + { + eventName: StateMachineEvent.NATIVE_START, + }, { eventName: StateMachineEvent.FINALIZE, callback: handlePressOut, diff --git a/packages/react-native-gesture-handler/src/v3/components/Pressable.tsx b/packages/react-native-gesture-handler/src/v3/components/Pressable.tsx index 277e9fddcd..f5a1032b48 100644 --- a/packages/react-native-gesture-handler/src/v3/components/Pressable.tsx +++ b/packages/react-native-gesture-handler/src/v3/components/Pressable.tsx @@ -308,7 +308,7 @@ const Pressable = (props: PressableProps) => { stateMachine.handleEvent(StateMachineEvent.NATIVE_BEGIN); }, onActivate: () => { - if (Platform.OS !== 'android' && Platform.OS !== 'ios') { + if (Platform.OS !== 'android') { // Native.onActivate is broken with Android + hitSlop stateMachine.handleEvent(StateMachineEvent.NATIVE_START); }