UIScrollView 在分页 UIScrollView 中



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

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

我找到了如何做到这一点:子类UIScrollView - 这将是您的外部滚动视图现在的方法:

- (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;
    }
}

仅此而已

最新更新