iphone - 在 iOS 中,GestureRecognizer 目标操作是否在单独的线程中运行?

标签 iphone objective-c ios

这就是问题所在,在我的 iPhone 应用程序的用户界面上,我有一个按钮和另一个接受触摸手势识别器的 imageView,它们都有目标操作。如果我一次触摸按钮和 View ,一切都很好。但是,如果我同时或快速连续触摸这两个,事情就会变得一团糟。按钮和手势处理程序操作相同的状态变量,因此如果它们并排运行,结果是不确定的。

我试图通过在进入手势识别器处理程序时禁用按钮并在退出处理程序之前立即启用它来解决此问题。但这并不能解决我的问题!!!

所以唯一的可能性(我的猜测)是手势识别器在按钮处理程序运行时被触发。但这只有在它们驻留在单独的线程中时才会发生。那么有谁知道手势识别器处理程序是否在不同的线程中运行?或者,更具体地针对我的问题,在我的情况下我应该怎么做?使用保护变量来防止冲突?

最佳答案

将这段代码放在实现手势识别委托(delegate)的类中

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { 返回是; }

关于iphone - 在 iOS 中,GestureRecognizer 目标操作是否在单独的线程中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8863869/

相关文章:

objective-c - 在 UITableView 中使用插入行

iphone - 第一个 UIView 纵向,第二个 UIView 横向

ios - FBSDKLikeControl 与 iOS10 不工作

ios - HTTPNetStreamInfo::_readStreamClientCallBack(__CFReadStream*, unsigned long) 增加内存分配

ios - 如何使用 Xcode 6 在真实的 iPhone 上测试 App?

iphone - NSDate 格式输出错误的日期

objective-c - Swift 中的调用

ios - 有人知道为非越狱设备向 iOS 应用程序添加授权的方法吗?

ios - [__NSCFString absoluteString]:无法识别的选择器已发送到实例,尝试将url转换为字符串

ios - 自动更新应用程序