我刚刚在 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;
}
使用此方法来区分 GestureRecognizer
和 Button
Acton。
希望对你有帮助。
关于objective-c - UIButton 响应其之上的 UIPanGestureRecognizer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13557666/