// // WMScrollView.m // WMPageController // // Created by lh on 15/11/21. // Copyright (c) 2015年 yq. All rights reserved. // #import "WMScrollView.h" @implementation WMScrollView #pragma mark - - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { // iOS横向滚动的scrollView和系统pop手势返回冲突的解决办法: http://blog.csdn.net/hjaycee/article/details/49279951 // 兼容系统pop手势 / FDFullscreenPopGesture / 如有自定义手势,需自行在此处判断 if ([otherGestureRecognizer.view isKindOfClass:NSClassFromString(@"UILayoutContainerView")]) { if (otherGestureRecognizer.state == UIGestureRecognizerStateBegan && self.contentOffset.x == 0) { return YES; } } // ReSideMenu 及其他一些手势的开启,需要在这自行此有些。目前还没完全兼容好,会引起一个小问题 if (self.otherGestureRecognizerSimultaneously) { // 再判断系统手势的state是began还是fail,同时判断scrollView的位置是不是正好在最左边 if (otherGestureRecognizer.state == UIGestureRecognizerStateBegan && self.contentOffset.x == 0) { return YES; } } return NO; } - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRequireFailureOfGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { //MARK: UITableViewCell 自定义手势可能要在此处自行定义 if ([otherGestureRecognizer.view isKindOfClass:NSClassFromString(@"UITableViewWrapperView")] && [otherGestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]) { return YES; } return NO; } @end