触摸UITableViewCell中的UIButton无法滚动表

hzx*_*zxu 5 iphone uibutton uitableview

我需要有一个a UIButton内部UITableViewCell,一切正常,除了当我触摸按钮内部并移动手指时,表格不会滚动。

我尝试将其子类化,UIButton并在touchesMoved:方法中将相同的消息发送给self.nextResponder,或调用touchesCancelled并希望它将触摸事件传递给下一个响应者,但它们都不起作用。

有什么好办法解决这个问题吗?目前,我UIView在的顶部添加了一个UITableViewCell,并手动检测触摸事件,分别将结果传递给按​​钮或单元格的其余部分,但这有点脏。

Raf*_*fAl 6

您可以尝试将delaysContentTouches属性设置为UITableViewto YES

此外,您可以设置canCancelContentTouchesYES

如果此属性的值为 NO,则一旦内容视图开始跟踪,无论手指移动如何,滚动视图都不会滚动。

来源:UIScrollView 类参考

尝试:

_yourTableView.delaysContentTouches = YES;
_yourTableView.canCancelContentTouches = YES;
Run Code Online (Sandbox Code Playgroud)