Skip to content

Button taps interfere with scrolling action #1

@SuperWomble

Description

@SuperWomble

Firstly, thank you for this project.

Issue: when attempting to drag on the scrollView, starting the drag within a button will cause the scroll to fail if there is even the slightest delay before the drag gesture starts. This causes the button to act as though the user has tapped-and-held within the button, and scrollView scrolling does not start. This makes the control very hard to use.

I am not sure how this is resolved. Ideally, if dragging is detected, the button selection is cancelled and the dragging gesture is transferred to the scrollView, allowing the scrollView to scroll according to the gesture.

Regards.

[EDIT]

After some research on StackOverflow it appears that this is a ScrollView related issue, not an issue relating specifically to this library.

To fix: ensure that the scrollView has the following properties set:

self.delaysContentTouches = false
self.canCancelContentTouches = true

And then we add this to PSFadingScrollView

override func touchesShouldCancel(in view: UIView) -> Bool
{
    if view is UIButton {
        return true
    }
    return super.touchesShouldCancel(in: view)
}

I hope this helps.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions