原文鏈接:http://blog.csdn.net/hjaycee/article/details/49279951#0-tsina-1-90689-397232819ff9a47a7b7e80a40613cfe1
直接上解決辦法:
1.首先自定義一個scrollView,比如:CustomScrollView,遵守<UIGestureRecognizerDelegate>協議,然后在實現文件中寫如下代碼:
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
// 首先判斷otherGestureRecognizer是不是系統pop手勢
if ([otherGestureRecognizer.view isKindOfClass:NSClassFromString(@"UILayoutContainerView")]) {
// 再判斷系統手勢的state是began還是fail,同時判斷scrollView的位置是不是正好在最左邊
if (otherGestureRecognizer.state == UIGestureRecognizerStateBegan && self.contentOffset.x == 0) {
return YES;
}
}
return NO;
}
2.那個橫向滾動的scrollView繼承這個自定義scrollView,也就是CustomScrollView
原理:
scrollView的pan手勢會讓系統的pan手勢失效,所以我們只需要在系統手勢失效且scrollView的位置在初始位置的時候讓兩個手勢同時啟用就可以了
