【发布时间】:2012-06-25 06:29:30
【问题描述】:
我有一个按钮,如果点击按钮以外的任何东西,我想让它消失。所以我为删除按钮设置了目标:动作:
[self.deleteButton addTarget:self action:@selector(deleteButtonTapped:) forControlEvents:UIControlEventTouchUpInside];
随后将点击手势识别器添加到包含视图中:
[self.superview addGestureRecognizer:self.tapOutsideDelete];
当我这样做时,deleteButton 的动作没有被执行,好像按钮点击没有被识别。在这种情况下,手势识别器确实有效。但是当我点击 deleteButton 时它也有效,这让我认为点击手势识别器优先于按钮点击。
如果我删除手势识别器,deleteButton 可以正常工作。
我显然不明白如何同时处理这两个事件。我需要做什么?
(deleteButton 正在模仿表格视图单元格的删除按钮,但在这种情况下,我将它放在标题视图中。我希望调用一个方法来使删除按钮在我点击表格中的任何位置时消失,除了按钮本身,与在单元格中的工作方式相同。)
【问题讨论】:
-
将手势识别器添加到 self.superview 而不是 self(或 self.view,如果它是视图控制器)可能会有点奇怪。这会将它添加到包含标题视图的表格视图中,而不是添加到标题视图中,这可能是也可能不是您想要的。
标签: cocoa-touch events uigesturerecognizer