@interface HQHomeGesScrollView : UIScrollView<UIGestureRecognizerDelegate>
@end
@implementation HQHomeGesScrollView
(instancetype)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
self.panGestureRecognizer.delegate = self;
}
return self;
}(BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)gestureRecognizer
{
DDLogDebug(@"%s",func);
if (gestureRecognizer == self.panGestureRecognizer) {
// 获取手势的平移量
CGPoint translation = [self.panGestureRecognizer translationInView:self];
// 判断水平位移是否大于垂直位移,决定是否响应滚动;大于就响应,否则就不响应
BOOL can = fabs(translation.x) > fabs(translation.y);
DDLogDebug(@"%s.can=%@.x= %f .y=%f",func,@(can),translation.x, translation.y);
return can;
}
return YES;
}(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
DDLogDebug(@"%s",func);
return NO;
}