-
Notifications
You must be signed in to change notification settings - Fork 24.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Touch events are not happening on FlatList/ScrollView when navigating back to the screen with a scrolling list (IOS) #46276
Labels
Component: FlatList
Component: ScrollView
Issue: Author Provided Repro
This issue can be reproduced in Snack or an attached project.
Platform: iOS
iOS applications.
Resolution: Fixed
A PR that fixes this issue has been merged.
Comments
react-native-bot
added
Component: FlatList
Component: ScrollView
Platform: iOS
iOS applications.
Needs: Author Feedback
Needs: Repro
This issue could be improved with a clear list of steps to reproduce the issue.
labels
Aug 30, 2024
|
|
Raised a PR to fix this: #46277 |
github-actions
bot
added
Needs: Attention
Issues where the author has responded to feedback.
and removed
Needs: Author Feedback
labels
Aug 30, 2024
cortinico
added
Issue: Author Provided Repro
This issue can be reproduced in Snack or an attached project.
Resolution: PR Submitted
A pull request with a fix has been provided.
and removed
Needs: Repro
This issue could be improved with a clear list of steps to reproduce the issue.
Needs: Attention
Issues where the author has responded to feedback.
labels
Sep 12, 2024
facebook-github-bot
pushed a commit
that referenced
this issue
Sep 13, 2024
…window (#46277) Summary: Solves this issue: #46276 ## Changelog: <!-- Help reviewers and the release process by writing your own changelog entry. Pick one each for the category and type tags: For more details, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [IOS] [ADDED] - fire onMomentumScrollEnd when UIScrollView is removed from window **Why the issue is happening?** The `onMomentumScrollEnd` event is typically triggered by the `UIScrollView` delegate methods `scrollViewDidEndDecelerating` and `scrollViewDidEndScrollingAnimation`. However, if the scroll view is removed from the window while navigating away, these delegate methods are not called, resulting in the event not being dispatched. This behaviour was particularly problematic in scenarios where a scroll view is in motion, and the user navigates away from the screen before the scrolling completes. In such cases, the `onMomentumScrollEnd` event would never fire, which further make scroll area un touchable or un responsive. **What we changed?** In the didMoveToWindow method, we added logic to handle the scenario where the UIScrollView is being removed from the window (i.e., when the component is unmounted or the user navigates away). Here’s a breakdown of the changes: - **Added a Check for Scroll State:** We check if the UIScrollView was decelerating or had stopped tracking (_scrollView.isDecelerating || _scrollView.isTracking == NO). - **Manually Triggered onMomentumScrollEnd:** If the scroll view was in motion and is being removed from the window, we manually trigger the `onMomentumScrollEnd` event to ensure that the final scroll state is captured. **_I had fixed this issue on both Old and New arch._** Pull Request resolved: #46277 Test Plan: Attaching a video with working solution: https://github.com/user-attachments/assets/1a1f3765-3f11-46c3-af18-330c88478db8 Reviewed By: andrewdacenko Differential Revision: D62374798 Pulled By: cipolleschi fbshipit-source-id: 014be8d313bab0257459dc4e53f5b0386a39d5e0
blakef
pushed a commit
that referenced
this issue
Sep 23, 2024
…window (#46277) Summary: Solves this issue: #46276 ## Changelog: <!-- Help reviewers and the release process by writing your own changelog entry. Pick one each for the category and type tags: For more details, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [IOS] [ADDED] - fire onMomentumScrollEnd when UIScrollView is removed from window **Why the issue is happening?** The `onMomentumScrollEnd` event is typically triggered by the `UIScrollView` delegate methods `scrollViewDidEndDecelerating` and `scrollViewDidEndScrollingAnimation`. However, if the scroll view is removed from the window while navigating away, these delegate methods are not called, resulting in the event not being dispatched. This behaviour was particularly problematic in scenarios where a scroll view is in motion, and the user navigates away from the screen before the scrolling completes. In such cases, the `onMomentumScrollEnd` event would never fire, which further make scroll area un touchable or un responsive. **What we changed?** In the didMoveToWindow method, we added logic to handle the scenario where the UIScrollView is being removed from the window (i.e., when the component is unmounted or the user navigates away). Here’s a breakdown of the changes: - **Added a Check for Scroll State:** We check if the UIScrollView was decelerating or had stopped tracking (_scrollView.isDecelerating || _scrollView.isTracking == NO). - **Manually Triggered onMomentumScrollEnd:** If the scroll view was in motion and is being removed from the window, we manually trigger the `onMomentumScrollEnd` event to ensure that the final scroll state is captured. **_I had fixed this issue on both Old and New arch._** Pull Request resolved: #46277 Test Plan: Attaching a video with working solution: https://github.com/user-attachments/assets/1a1f3765-3f11-46c3-af18-330c88478db8 Reviewed By: andrewdacenko Differential Revision: D62374798 Pulled By: cipolleschi fbshipit-source-id: 014be8d313bab0257459dc4e53f5b0386a39d5e0
This issue has been resolved. PR is attached above. |
cortinico
added
Resolution: Fixed
A PR that fixes this issue has been merged.
and removed
Resolution: PR Submitted
A pull request with a fix has been provided.
labels
Oct 1, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Component: FlatList
Component: ScrollView
Issue: Author Provided Repro
This issue can be reproduced in Snack or an attached project.
Platform: iOS
iOS applications.
Resolution: Fixed
A PR that fixes this issue has been merged.
Description
If we navigate to a new screen while a list component is currently scrolling and come back to this screen, the touch does not work on the previously scrolling list. Once i manually scroll the list again and scroll ends only after that touch starts to work on the children of the FlatList or ScrollView.
Basically the Scroll Area got freeze out.
This is happening on both Old and New Arch.
Steps to reproduce
Expected: Scroll Items should be clickable and redirect to new screen.
React Native Version
0.75.2
Affected Platforms
Runtime - iOS
Output of
npx react-native info
Stacktrace or Logs
Reproducer
https://github.com/dream-sports-labs/reproducer-react-native/tree/feat/repro-scroll-stuck
Screenshots and Videos
Scroll area is not clickable after switching tabs while scrolling:
not_working.MP4
Ideal Behaviour: Items in scroll area must be clickable after tab switch as well.
The text was updated successfully, but these errors were encountered: