【发布时间】:2013-10-13 15:16:44
【问题描述】:
我收到来自 iOS 7 用户的间歇性报告,称 UIPanGestureRecognizer 每隔一段时间就会停止处理某些视图。他们应该能够向右/向左滑动视图,但它只是中断并且由于某些未知原因而不起作用。强制退出应用程序并重新启动它可以解决问题。
这个问题在 iOS 6 上从未发生过。除了强制手势仅识别水平平移的 gestureRecognizerShouldBegin 委托之外,我没有任何代码可以随时禁用手势识别器:
- (BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)gestureRecognizer {
if ([gestureRecognizer isMemberOfClass:[UIPanGestureRecognizer class]]) {
CGPoint translation = [gestureRecognizer translationInView:[self superview]];
if (fabsf(translation.x) > fabsf(translation.y)) {
if (translation.x > 0)
return YES;
}
}
return NO;
}
UIPanGestureRecognizer(或只是简单的UIGestureRecognizer)中是否有任何可能导致此问题的变化?
【问题讨论】:
-
您是否验证了
x > y检查不会在手势识别器似乎无法正常工作时导致提前退出? -
不幸的是,我什至无法在我的任何设备上重现该错误,但我收到了来自用户的足够多的报告,我知道不仅仅是一个用户不知道他们是什么做。
-
我已经做了几次了。
gestureRecognizerShouldBegin被调用并正确返回YES,但我分配给UIPanGestureRecognizer的方法没有被调用。所以它识别手势但不调用方法... -
@bmueller 你找到解决方案了吗?我们也见过很多次(使用 UITapGestureRecognizers),但没有可靠的方法来重现它。它每次都会出现在不同的地方。
-
还没有,很遗憾:\