Baseflow / Baseflow/Xamarin-Sidebar
Make sidebar pan gesture customizable
- Dominant language
- C#
- Stars
- 112
- Forks
- 67
- PR merge metrics
- No merged PRs in 30d
Description
The pan gesture used to open the sidebar overrides most other gestures in the content view that it targets, and doesn't mark itself as "failed" when it decides to ignore a certain gesture. This makes it very hard to use other gestures in this view. When implementing a custom gesture some success can be achieved by being creative with `ShouldBeRequiredToFailBy...` and the likes, but when you do not have control over the other gesture recognizer (my concrete example: a swipe left to start `UITableViewCell` editing mode) you're basically left without options.
The solution would be to
1. Make the pan gesture fail appropriately (can be as simple as returning `false` from `SlideoutPanDelegate.ShouldReceiveTouch()` when the touch is not inside the gesture active area) and / or
2. Allow access to the gesture recognizer so a custom delegate can be used. `Sidebar.PanGesture` is public, but because the actual `_sidebar` is a private property of the `SidebarController` it can currently only be accessed with reflection (which is what I'm doing to work around the problem right now).
I'd be willing to submit a PR for one or both of these changes if this sounds reasonable to you.
Contributor guide
Assessment
This issue has not been assessed yet.