UIScrollView内部分页UIScrollView

时间:2013-10-29 11:06:28

标签: ios objective-c uiscrollview

我在VC中有UIScrollView(内部 - UICollectionView),它位于分页UIScrollView(外部)中。两者都是水平的。 当我向内滚动(左侧或右侧)时,它开始将触摸传递到外部滚动,外部滚动开始滚动。 如何避免这种行为?我希望外部滚动不会对内部滚动中的触摸作出反应。

2 个答案:

答案 0 :(得分:1)

您可以在外UIView下放置UIScrollView,并将其设为userInteractionEnabledNO

答案 1 :(得分:0)

我发现了如何做到这一点: 子类UIScrollView - 这将是你的外部scrollView 现在方法:

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {
    UIView *touchedView = gestureRecognizer.view;
    CGPoint loc = [gestureRecognizer locationInView:touchedView];
    UIView* subview = [touchedView hitTest:loc withEvent:nil];

    if([[subview nextResponder] isKindOfClass:[MyInnerScrollVC class]]) {
        return NO;
    } else {
        return YES;
    }
}

就是这样