I need to have a UIButton
inside a UITableViewCell
, everything works fine except when I touch inside the button and move my finger, the table does not scroll.
I tried to subclass UIButton
and in touchesMoved: method send the same message to self.nextResponder
, or call touchesCancelled and hope it will pass the touch event to next responder, they both do not work.
Is there any good way to solve this problem? Currently I am adding a UIView
on top of the UITableViewCell
, and detecting touch events manually, passing result to the button or the rest of the cell respectively, but this is a little bit dirty.
What you can try is setting the delaysContentTouches
property of the UITableView
to YES
.
Additionally you can set the canCancelContentTouches
to YES
.
If the value of this property is NO, the scroll view does not scroll regardless of finger movement once the content view starts tracking.
Source: UIScrollView Class Reference
Try:
_yourTableView.delaysContentTouches = YES;
_yourTableView.canCancelContentTouches = YES;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With