让UIScrollView支持右滑返回上一页

2019-10-11  本文已影响0人  生命不止运动不息

直接重写UIScrollView, 重写手势方法
直接看代码如下:

@implementation XWPageScrollView

#pragma mark - 添加右滑动返回功能
//location_X可自己定义,其代表的是滑动返回距左边的有效长度
- (BOOL)panBack:(UIGestureRecognizer *)gestureRecognizer {
    
    int location_X = self.frame.size.width;
    if (gestureRecognizer ==self.panGestureRecognizer) {
        UIPanGestureRecognizer *pan = (UIPanGestureRecognizer *)gestureRecognizer;
        CGPoint point = [pan translationInView:self];
        UIGestureRecognizerState state = gestureRecognizer.state;
        if (UIGestureRecognizerStateBegan == state ||UIGestureRecognizerStatePossible == state) {
            CGPoint location = [gestureRecognizer locationInView:self];
            if (point.x >0 && location.x < location_X &&self.contentOffset.x <=0) {
                return YES;
            }
        }
    }
    return NO;
}

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer{
    return ![self panBack:gestureRecognizer];
}

@end

写过几个项目,每次都要到处找该方法,因此分享出来,也方便自己了!

上一篇 下一篇

猜你喜欢

热点阅读