在其中使用UIImageView子类化UITableViewCell

时间:2012-01-20 21:24:41

标签: objective-c ios uitableview

我已经将UITableViewCell子类化,而我内部有UIImageView,问题是当我点击UIImageView时,我想做点什么,但现在发生的是它调用didSelectRowAtIndexPath。我该如何防止这种情况?另外,我应该向UIImageView添加一个点按手势识别器来执行我想要的操作吗?

2 个答案:

答案 0 :(得分:1)

您可以在图片中使用UIButton代替UIImageView吗? UIButton具有所有UIControl功能。

我正在努力记住这是否足以避免didSelectRowAtIndexPath,我不记得,但我认为它是。您是否仍希望通过点击图像外部来选择行?如果没有,您只需将NO返回canSelectRowAtIndexPath

答案 1 :(得分:0)

是的,只需在UITapGestureRecognizer上添加UIImageView即可。

不要忘记在userInteractionEnabled上将YES设置为UIImageView

然后,当您点按UIImageView时,触摸事件将由其UITapGestureRecognizer捕获,并且不会传输到单元格,因此与您的{{1}相关联的方法将被调用,但UITapGestureRecognizer委托方法不会。 (只有在您的单元格的子视图未捕获触摸事件时才会调用后一种委托方法)