iOS Swift 4: UIView in UIScrollView

I have a UIImageView with a tap gesture recognizer as a subview of a UIScrollView.

A.) If the UIImageView isUserInteractionEnabled=false the scroll view works fine (pinch zoom, scroll) but doesn't recognize the tap gesture on the image.

B.) If isUserInteractionEnabled=true I cannot start pinch zoom or scroll from the image but the tap gesture works.

How can I manage it to work (keep scrolling and zooming but recognize tap on content)?

Upvotes: 2

Views: 566

Answers (1)

tphduy
tphduy

Reputation: 126

Because UIScrollView has gestures within for handling scroll, pinch, it means when your UIImageView.isUserInteractionEnabled = true, the UIImageView' tap gesture take those touches and do not forward it to UISCrollView.

Here is the solution by implementing a UIGesture's delegate method: https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/coordinating_multiple_gesture_recognizers/allowing_the_simultaneous_recognition_of_multiple_gestures

Upvotes: 1

Related Questions