直接重写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
写过几个项目,每次都要到处找该方法,因此分享出来,也方便自己了!
网友评论