0

我有一个 mainScrollView 水平滚动并添加了照片,并且 mainScrollView 的 contentSize 是根据照片的数量设置的。

为了实现滚动到最后并在带有用户显示信息的 UIView 中滑动的效果,我将 overlayScrollView 添加到 mainScrollView 的子视图中。

overlayScrollView 包含位于框架外的 contentView。

CGRect frame = self.mainScrollView.frame;
frame.origin.x = CGRectGetWidth(frame) * (count-1); 

UIScrollView *overlayScrollView = [[UIScrollView alloc] initWithFrame:frame];
[self.mainScrollView addSubview:overlayScrollView];

// moves contentView one frame beyond
frame.origin.x = CGRectGetWidth(frame);
UIView *contentView = [[UIView alloc] initWithFrame:frame];
contentView.backgroundColor = [UIColor redColor];
[overlayScrollView addSubview:contentView];

overlayScrollView.contentSize = CGSizeMake(overlayScrollView.frame.size.width * 2, overlayScrollView.frame.size.height);
overlayScrollView.pagingEnabled = YES;

我在嵌套的 UIScrollViews 上搜索了 SO,因此使用以下方法将 UIScrollView 子类化为 mainScrollView:

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {

    for (UIView *child in self.subviews){
    if([child isMemberOfClass:[UIScrollView class]])
        if(CGRectContainsPoint(child.frame, point))
            return child;
    }
    return self;
}

但它不起作用。我的代码可能是错误的。hitTest 确实返回了子项(overlayScrollView)但没有滚动。有什么建议如何编码吗?

4

0 回答 0