这就是问题所在,在我的 iPhone 应用程序的用户界面上,我有一个按钮和另一个接受触摸手势识别器的 imageView,它们都有目标操作。如果我一次触摸按钮和 View ,一切都很好。但是,如果我同时或快速连续触摸这两个,事情就会变得一团糟。按钮和手势处理程序操作相同的状态变量,因此如果它们并排运行,结果是不确定的。
我试图通过在进入手势识别器处理程序时禁用按钮并在退出处理程序之前立即启用它来解决此问题。但这并不能解决我的问题!!!
所以唯一的可能性(我的猜测)是手势识别器在按钮处理程序运行时被触发。但这只有在它们驻留在单独的线程中时才会发生。那么有谁知道手势识别器处理程序是否在不同的线程中运行?或者,更具体地针对我的问题,在我的情况下我应该怎么做?使用保护变量来防止冲突?
最佳答案
将这段代码放在实现手势识别委托(delegate)的类中
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
返回是;
}
关于iphone - 在 iOS 中,GestureRecognizer 目标操作是否在单独的线程中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8863869/