停止UIGestureRecognizer在UIView内部的UIButtons上运行

时间:2012-12-04 15:34:51

标签: objective-c ios uiview uigesturerecognizer uitapgesturerecognizer

我已在我的应用程序中将UITapGestureRecognizer附加到UIView。如果用户双击它,则该视图内的按钮会随机重新排列。工作得很好,可爱。

但是,用户也可以通过双击其中一个按钮本身,甚至通过点击屏幕不同部分的两个按钮来触发此操作。

如果两个水龙头在x个像素数范围内,并且在视图本身上没有任何元素,例如这些{{1> }} S'

2 个答案:

答案 0 :(得分:1)

我认为通常的方法是使用shouldReceiveTouch。查看this question以进行冗长的讨论和所有细节。

答案 1 :(得分:0)

执行此操作的一种方法是将单个手势识别器附加到按钮 - 这将取代按钮的正常触摸事件,因此您必须将按钮的操作方法放在手势识别器的操作方法中。然后,您将为双击管器添加一个依赖关系,以便仅在单个攻丝器失败时触发它:

[self.doubleTapper requireGestureRecognizerToFail:self.tapper];