Solution that worked for me included:
- Setting
canCancelContentTouches
inUIScrollView
toYES
. - Extending
UIScrollView
to overridetouchesShouldCancelInContentView:(UIView *)view
to returnYES
whenview
is aUIButton
.
According to documentation touchesShouldCancelInContentView
returns “YES
to cancel further touch messages to view, NO
to have view continue to receive those messages. The default returned value is YES
if view is not a UIControl
object; otherwise, it returns NO
.”
Since UIButton
is a UIControl
the extension is necessary to get canCancelContentTouches
to take effect which enables scrolling.