Repository navigation
ScrollEnabled={false} is not Respected on iOS #1058
Description
Activity
I can confirm I'm experiencing the same issue on iOS 15.8. The problem does not occur on iOS 17+.
Environment
React Native: 0.82.0 (CLI, not Expo)
react-native-pager-view: ^8.0.0
iOS: 15.8 (affected) | 17+ (working correctly)The behavior matches exactly what's described in this issue. It seems to be specific to older iOS versions.
I'm having the same issue. It started after updating Expo SDK to 54 from 53, weirdly.
Environment
React Native: 0.81.5
react-native-pager-view: ^8.0.0
iOS: 18.2I'm also having same issue - the swipe gesture is still functional on the first swipe. After the first swipe completes, the gesture becomes properly disabled as expected.
Can confirm this also happens to us, exactly as @mdivya-symplr mentioned
please check with fix from #1071
Reacted by Olli.jsHey, great job!
I was just wondering if there's a plan to release a patch version too?hey @dereineolli I will release it in patch version in following days
Reacted by Olli.jsReacted by Olli.js, Ignacy Roliński and NebulaDevplease what is the fix to this problem, currently facing it on my app also
Anyone able to find a workaround?
Hey, is it possible to run v8.0.2 with Expo SDK 54?
I know Expo 54 bundles v6.9.1, but that version has the iOS scrollEnabled={false} bug, and I noticed the fix in v8.0.1/v8.0.2.
Our project uses
newArchEnabled=trueso dropping old arch in v7/v8 isn't a blocker, but I'm not sure if v8.0.2 needs a newer React Native than the 0.81.x that ships with SDK 54. Would manually installing it actually work?
scrollEnabled={false}not respected on iOS (Fabric / New Architecture)Environment
Description
When
scrollEnabledis set tofalseonPagerView, horizontal swiping is still possible on iOS. The same setup works correctly on Android—swiping does nothing whenscrollEnabledis false.This occurs with the New Architecture (Fabric) enabled. The
scrollEnabledprop appears to be applied inupdatePropsinRNCPagerViewComponentView.mm, but there may be a timing or initialization issue where:willMoveToSuperview/initializeNativePageViewControllerupdatePropsmay run before the scroll view exists, or the initialscrollEnabledvalue is never applied at setup timescrollEnabled = YESand never receives thefalsevalueExpected behavior
Setting
scrollEnabled={false}should prevent horizontal page swiping, matching Android behavior.Actual behavior
On iOS, the pager still responds to horizontal swipe gestures and changes pages even when
scrollEnabledisfalse.Workaround
Using
react-native-gesture-handlerwithGesture.Native()and aGesture.Pan().blocksExternalGesture(native)to block swipes when scroll should be disabled. This is a reasonable workaround but requires extra dependencies and code.Related