Baseflow / Baseflow/Xamarin-Sidebar

Make sidebar pan gesture customizable

Open
#82 3 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.