我已经将UITableViewCell
子类化,而我内部有UIImageView
,问题是当我点击UIImageView
时,我想做点什么,但现在发生的是它调用didSelectRowAtIndexPath
。我该如何防止这种情况?另外,我应该向UIImageView
添加一个点按手势识别器来执行我想要的操作吗?
答案 0 :(得分:1)
您可以在图片中使用UIButton
代替UIImageView
吗? UIButton
具有所有UIControl
功能。
我正在努力记住这是否足以避免didSelectRowAtIndexPath
,我不记得,但我认为它是。您是否仍希望通过点击图像外部来选择行?如果没有,您只需将NO
返回canSelectRowAtIndexPath
。
答案 1 :(得分:0)
是的,只需在UITapGestureRecognizer
上添加UIImageView
即可。
不要忘记在userInteractionEnabled
上将YES
设置为UIImageView
。
然后,当您点按UIImageView
时,触摸事件将由其UITapGestureRecognizer
捕获,并且不会传输到单元格,因此与您的{{1}相关联的方法将被调用,但UITapGestureRecognizer
委托方法不会。 (只有在您的单元格的子视图未捕获触摸事件时才会调用后一种委托方法)