gpt4 book ai didi

ios - UIPanGestureRecognizer 有时无法在 iOS 7 上运行

转载 作者:技术小花猫 更新时间:2023-10-29 11:18:51 28 4
gpt4 key购买 nike

我收到来自 iOS 7 用户的断断续续的报告,说 UIPanGestureRecognizer 每隔一段时间就会停止处理某些 View 。他们应该能够向右/向左滑动 View ,但它只是中断并且由于某些未知原因而不起作用。强制退出应用程序并重新启动它可以解决问题。

这个问题在 iOS 6 上从未发生过。除了强制手势只识别水平平移的 gestureRecognizerShouldBegin 委托(delegate)之外,我没有任何代码可以随时禁用手势识别器:

- (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)是否发生了任何可能导致此问题的变化?

最佳答案

我想我终于解决了这个问题。显然,iOS 7 处理 subview 中的手势不同于 iOS 6 及更早版本。为了处理这个问题,Apple 实现了一个新的委托(delegate):

(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer

如果您返回 YES,那应该会让您的手势识别器工作。我已经实现了它并且到目前为止没有遇到任何问题(尽管不可否认这是一个我永远无法可靠地重现的罕见错误,所以它可能还没有再次出现)。

有关详细信息,请参阅 https://stackoverflow.com/a/19892166/1593765 .

关于ios - UIPanGestureRecognizer 有时无法在 iOS 7 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19346774/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com