Skip to content

Commit

Permalink
Disable container pan gesture if dragging is not allowed
Browse files Browse the repository at this point in the history
FIX #71
  • Loading branch information
gaetanzanella committed Aug 12, 2020
1 parent 116415a commit dc8f116
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ class OverlayTranslationGestureRecognizer: UIPanGestureRecognizer {

weak var drivingScrollView: UIScrollView?

var translationOffset: CGFloat = 0

private(set) var startingLocation: CGPoint = .zero

// MARK: - Public
Expand Down
15 changes: 14 additions & 1 deletion Source/Classes/Internal/PanGestureOverlayTranslationDriver.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@

import UIKit

class PanGestureOverlayTranslationDriver: NSObject, OverlayTranslationDriver {
class PanGestureOverlayTranslationDriver: NSObject,
OverlayTranslationDriver,
UIGestureRecognizerDelegate {

private weak var translationController: OverlayTranslationController?
private let panGestureRecognizer: OverlayTranslationGestureRecognizer
Expand All @@ -19,6 +21,7 @@ class PanGestureOverlayTranslationDriver: NSObject, OverlayTranslationDriver {
self.translationController = translationController
self.panGestureRecognizer = panGestureRecognizer
super.init()
panGestureRecognizer.delegate = self
panGestureRecognizer.addTarget(self, action: #selector(overlayPanGestureAction(_:)))
}

Expand All @@ -28,6 +31,16 @@ class PanGestureOverlayTranslationDriver: NSObject, OverlayTranslationDriver {
// no-op
}

// MARK: - UIGestureRecognizerDelegate

func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
guard let view = gestureRecognizer.view,
let gesture = gestureRecognizer as? OverlayTranslationGestureRecognizer else {
return false
}
return translationController?.isDraggable(at: gesture.startingLocation, in: view) ?? false
}

// MARK: - Action

@objc private func overlayPanGestureAction(_ sender: OverlayTranslationGestureRecognizer) {
Expand Down

0 comments on commit dc8f116

Please sign in to comment.