gpt4 book ai didi

ios - UIPanGestureRecognizer 冲突

转载 作者:行者123 更新时间:2023-11-29 03:28:08 27 4
gpt4 key购买 nike

我正在将 UIPanGestureRecognizer 添加到我的 View Controller 中的一个自定义 View 。

我还使用 MFSideMenu 作为滑动菜单,在其框架中将 UIPanGestureRecognizer 添加到主 NavigationViewController.view。

有时,当我在我的自定义 View 中平移时,平移实际上发生在 MavigationViewController.view 中。

导致这个问题的是MFSideMenu实现中的如下代码:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {

if([gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]) {

if([gestureRecognizer.view isEqual:self.rootViewController.view] &&
[self rootViewControllerPanEnabled])
{
return YES;
}

return NO;
}

}

有时(5-10 中有 1 次),此方法会返回 YES,而在平移 View 本身时应该返回 NO!

问题是滑动菜单没有平移自定义 View ,而是打开了。

我几乎已经尝试了所有我能想到的 - 这种行为根本没有任何意义。

更新:仅在 iOS 7 中出现问题 - 请参阅下面我的修复答案。

最佳答案

找到了解决方案;显然问题出在 iOS 7 中。

要修复它,只需在 View Controller 中实现 UIGestureRecognizerDelegate 并实现:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return YES;
}

这解决了我的随机问题!

归功于 UIPanGestureRecognizer sometimes not working on iOS 7

关于ios - UIPanGestureRecognizer 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20192510/

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