iphone - UIGesture 识别器,区分单击和双击。

标签 iphone ios uigesturerecognizer xcode4.5

我正在使用以下代码将两个手势识别器添加到 View 中。我想要的是:如果用户点击一件事。如果他们点击两次,就会发生另一件事。

实际上,无论用户点击一次还是两次,都会发生单击操作。换句话说,当我双击时,我得到了两个 Action ,而不是我希望的一个 Action

区分

//gesture recognizer.
UITapGestureRecognizer *tapRecognizerShowHideMenu = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doOneThing)];
[tapRecognizerShowHideMenu setDelegate:self];
[tapRecognizerShowHideMenu setNumberOfTapsRequired:1];
[self.view addGestureRecognizer:tapRecognizerShowHideMenu];

UITapGestureRecognizer *tapRecognizerEditEffect = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doAnotherThing)];
[tapRecognizerEditEffect setDelegate:self];
[tapRecognizerEditEffect setNumberOfTapsRequired:2];
[self.view addGestureRecognizer:tapRecognizerEditEffect];

最佳答案

将此添加到您的代码中:

[tapRecognizerShowHideMenu requireGestureRecognizerToFail:tapRecognizerEditEffect];

当您为手势识别器设置 requireGestureRecognizerToFail: 时,您是说它应该只识别其他手势识别器不识别的手势。所以在这里,您告诉单击只有在双击不被识别时才被识别。

关于iphone - UIGesture 识别器,区分单击和双击。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13889108/

相关文章:

iphone - 当对象移动到特定帧时如何停止 UIPanGestureRecognizer

iphone - 将 JSON 数据从 NSData 转换为 NSDictionary

iphone - xcode 在 View 之间传递 3 个 nsstring 值时遇到问题

ios - Swift - 表格 View 黑屏?

ios - 将我的应用程序添加到 tvOS 应用程序设置屏幕

iphone - 如何知道捏合手势何时完成(UIGestureRecognizer)

iphone - 一个应用程序,多个品牌

iPhone App 名称(跳板和目标)允许的特殊字符列表

ios - 如何检查设备是否通过airplay连接?

iphone - 有没有办法检测多个平移手势?