imageView tapGesture vs button touchUpInside,带有didSelectRowAtIndexPath

时间:2011-06-11 16:12:55

标签: iphone objective-c ios ios4

当我在TableViewCellUIImageView以及tapGesture内使用时。 如果我直接点击它触发的图像:

didSelectRowAtIndexPath

my_image_tap_deletage

如果我在UIButton内使用了UIControlEventTouchUpInside TableViewCell my_button_tap_delegate 如果我直接点击按钮就会触发:

UIButton

我知道我可以在UIImageView上使用图片,而不是didSelectRowAtIndexPath,但仍然可以。

问题:

1.为什么事件触发会有这样的不同?

2.如何使图像像按钮一样,只触发没有{{1}}的控制事件。

更新: 我不知道这是否重要,但我只想注意到这一点 我正在从xib +子类创建UITableViewCell。

更新2: 好吧,有一半责怪我。 我忘了再提一件事。 我将手势设置为gesture.numberOfTapsRequiered = 2;

如果为1,则不调用didSelectRowAtIndexPath,并且它是O.K

如果是2,则调用didSelectRowAtIndexPath。我试着用gesture.cancelsTouchesInView = YES / NO(两个......)和didSelec仍然调用。

也许有2次点击,SDK决定无论什么都会调用didSelect?

希望我在这里很清楚。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

至于我已经注意到,如果你已经完成了所有事情,将图像视图添加到表格视图单元格,如果你点击UIImageView,它应该只调用imageView的动作,而不是表视图的 didSelectRowAtIndexPath:委托方法。