我有一个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确实返回了child(overlayScrollView)但没有滚动。有任何建议如何编码吗?