遵循UIGestureRecognizerDelegate协议
UIView *view = [[UIView alloc]initWithFrame:CGRectMake(sWidth * (_imagesArr.count - 1), 1, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];
UISwipeGestureRecognizer *swip = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(enterApp:)];
[view addGestureRecognizer:swip];
view.userInteractionEnabled = YES;
_scrollView.userInteractionEnabled = YES;
view.backgroundColor = [UIColor clearColor];
// [btn addTarget:self action:@selector(enterApp:) forControlEvents:UIControlEventTouchUpInside];
swip.direction = UISwipeGestureRecognizerDirectionLeft;
swip.delegate = self;
// swip.direction = UISwipeGestureRecognizerDirectionUp;
[_scrollView addSubview:view];
添加手势的代理方法
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
// 首先判断otherGestureRecognizer是不是系统pop手势
if ([otherGestureRecognizer.view isKindOfClass:NSClassFromString(@"UILayoutContainerView")]) {
// 再判断系统手势的state是began还是fail,同时判断scrollView的位置是不是正好在最左边
if (otherGestureRecognizer.state == UIGestureRecognizerStateBegan && _scrollView.contentOffset.x == sWidth*3) {
return NO;
}
}
return YES;
}