IOS UIScrollView 手势返回冲突处理

xiaoxiao2021-02-27  266

#pragma mark----以下代理控制UIScrollView的手势返回代理 - (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {                 if ([self panBack:gestureRecognizer]) {                         return NO;          }                 return YES;       } - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer*)otherGestureRecognizer {     if ([self panBack:gestureRecognizer]) {         return YES;     }     return NO; }     //location_X可自己定义,其代表的是滑动返回距左边的有效长度 - (BOOL)panBack:(UIGestureRecognizer*)gestureRecognizer {     int location_X = 100;     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 ; }
转载请注明原文地址: https://www.6miu.com/read-3631.html

最新回复(0)