SwipeView stops tracking swipe when pointer leaves item bounds during active gesture
- Dominant language
- C#
- Stars
- 23.3k
- Forks
- 2k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 296
Description
### Description
When a `SwipeView` is used inside a `CollectionView`, the swipe gesture is interrupted if the user's finger leaves the bounds of the item while the swipe is still in progress.
The gesture only continues when the finger re-enters the original item area.
### Expected behavior
Once a swipe gesture has started on a `SwipeView`, the control should continue tracking that gesture until it ends, even if the finger temporarily moves outside the item's bounds.
This is the behavior commonly seen in applications such as Gmail, where a swipe that starts on a message row remains attached to that same row until the gesture completes.
### Actual behavior
1. Start swiping a `SwipeView` item horizontally (for example, from right to left).
2. While keeping the finger down, move it slightly outside the item's bounds vertically.
3. The swipe immediately stops updating.
4. Move the finger back inside the item bounds.
5. The swipe resumes.
This gives the impression that the gesture is "stuck" whenever the pointer leaves the item.
### Why this is a problem
Small vertical finger movements are common during horizontal swipes, especially on mobile devices. Requiring the pointer to remain inside the item's bounds throughout the entire gesture makes swipe interactions feel unreliable and less fluid than native applications.
### Suggested behavior
`SwipeView` should capture ownership of the gesture once the swipe has been recognized, and continue receiving move events until the gesture completes (finger release or cancellation), regardless of whether the pointer temporarily leaves the visual bounds of the item.
This appears to be a missing gesture capture/pointer capture behavior in the current implementation.
### Platform
Observed on mobile platforms with `SwipeView` hosted inside a `CollectionView`: ios + android
### Version with bug
10.0.90
### Is this a regression from previous behavior?
No, this is something new
### Last version that worked well
Unknown/Other
### Affected platforms
iOS, Android
### Affected platform versions
all
### Did you find any workaround?
no, there is no setting or option on SwipeView to enable this behavior
Contributor guide
Research direction
Start by tracing SwipeView gesture handling and its interaction with CollectionView touch input on Android and iOS. Reproduce the reported movement outside the item bounds, then verify that an accepted swipe keeps receiving movement until release or cancellation and resumes reliably across both platforms.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, csharp, ios
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100