slackhq / PanModal

An elegant and highly customizable presentation API for constructing bottom sheet modals on iOS.
MIT License
3.69k stars 533 forks source link

modal dismissal needs to scroll all the way to top first #42

Closed ghost closed 5 years ago

ghost commented 5 years ago

Description

Describe your issue here. Thank you for this amazing library - it took all of 10 minutes to convert my regular pop ups to panModal and it looks fabulous!

I have a web view in my view controller with a title view. The title view remains on the top, while the web view scrolls. This works perfectly with panModal with one behavior that I've not been able to modify -- If I scroll down in the web view, then swipe down on the title or the drag indicator, it doesn't drag... How do I get the modal to dismiss if the user drags the handle (or part of the view controller that's not the scroll view?)

What type of issue is this? (place an x in one of the [ ])

Requirements (place an x in each of the [ ])


Bug Report

Filling out the following details about bugs will help us solve your issue sooner.

Reproducible in:

PanModal version:

iOS version:

Steps to reproduce:

1. 2. 3.

Expected result:

What you expected to happen

Actual result:

What actually happened

Attachments:

Logs, screenshots, screencast, sample project, funny gif, etc.

ste57 commented 5 years ago

Hi @ghubaddole

Apologies for the delayed response. If you want to set an area that the PanModal gesture recognizers will ignore you can use func shouldPrioritize(panModalGestureRecognizer: UIPanGestureRecognizer) -> Bool.

This should have the opposite effect of this issue mentioned here: https://github.com/slackhq/PanModal/issues/9#issue-422934156

You can check if the touch processed by the PanModal is within the frame of the handle and use that to return true

Let me know if this fixes it for you, Stephen