objective-c - UIButton 响应其之上的 UIPanGestureRecognizer

标签 objective-c ios xcode

我刚刚在 View 顶部添加了一个带有 UIPanGestureRecognizer 的 UIView。
该 View 有几个响应 touchUpInside 事件的 UIButton。
奇怪的是,自从我带了 UIPanGestureRecognizer 以来,平移时,如果 UIButton 位于“平移 View ”的正下方,按钮就会触发,这不是我想要的。 当然,我可以为“平移”制作一个 BOOL 标志,这样按钮就不会触发,但在我看来,这像是糟糕的工程,而且肯定是我缺少的东西。我猜想在第一次触摸后,两个 View 都会拦截该事件。
有可能克服这个问题吗?

谢谢

最佳答案

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

    if ([touch.view isKindOfClass:[UIButton class]]) {
        return NO;
    }
    return YES;
}

使用此方法来区分 GestureRecognizerButton Acton。

希望对你有帮助。

关于objective-c - UIButton 响应其之上的 UIPanGestureRecognizer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13557666/

相关文章:

objective-c - 如何编写通过两次鼠标单击绘制直线的代码(OSX Mac 应用程序)?

iOS 触摸阻塞问题

objective-c - 强制 UIViewController 处于横向模式 iOS7

iphone - 在 iphone 中创建类似 facebook 菜单导航的 View

ios - 在核心数据中创建关注者关注模型

ios - 如何在 iOS 的调试构建配置中禁用 React Native 开发模式?

ios - 为 2 个 imageView 的位置切换设置动画

objective-c - 使用 AFNetworking 和 AFOAuth2Client 找不到文件 AFJSONRequestOperation.h

swift - 为什么我的 UIpickerView 现在需要 3 个小时才能完成构建?

jquery mobile 固定 navBar 在 iOS 4 上的位置