您的位置:首页 > 其它

手势冲突的解决方法

2015-12-17 09:56 344 查看
1.比如与某个控件的响应响应事件冲突,比如:UIButton

UIGestureRecognizerDelegate两三事:

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

if([touch.view isKindOfClass:[UIButton class]])

return NO;//不会执行UIGestureRecognizer注册的事件

else

return YES;//会执行UIGestureRecognizer注册的事件

//或者下边这种方式也可以。
CGPoint location = [touch locationInView:self];
if(CGRectContainsPoint(某个冲突button.frame, location)){
return NO;
}
return YES;
}


2。与UIScrollView滑动冲突,导致不好使。比如与UIPanGestureRecognizer冲突。

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
return YES;//UIScrollView 和 子View上的UIPanGestureRecognizer都会响应
return NO;//只响应子View上的UIPanGestureRecognizer
}


原文地址请戳这里
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: