我的应用程序中有一个滚动视图,以及我希望用户在滚动视图中滑动的一系列图片。我希望所有这些都可见,但页面仍然是其中一张图片的宽度。我怎样才能做到这一点? (告诉我,如果我需要更多细节)
答案 0 :(得分:1)
如果我理解正确,您必须将contentSize属性设置为大,以适合所有图像。你必须设置pagingEnabled = YES
因此,滚动的帧大小将等于图像的大小,内容大小将是所有图像帧的边界矩形。
答案 1 :(得分:1)
您需要将UIScrollView框架设置为图片的大小,然后将UIScrollView的contentSize设置为图像数量的宽度*图像宽度。如果您希望每张照片都像大多数应用中的“页面”一样,您还需要将pagingEnabled设置为YES。您可能还想要抑制滚动指示器。
例如:
NSArray someArrayOfUIImageViews...
NSUInteger imageWidth = 100;
pageScroller = [[UIScrollView alloc] initWithFrame:CGRectMake(0,0,imageWidth,160)];
pageScroller.scrollEnabled = YES;
pageScroller.showsHorizontalScrollIndicator = NO;
pageScroller.showsVerticalScrollIndicator = NO;
pageScroller.pagingEnabled = YES;
pageScroller.contentSize = imageWidth * [someArrayOfUIImageViews count];
然后将pageScroller添加到父视图,然后将每个图像添加到pageScroller,将它们分散到contentSize区域...
for (UIImageView * someImageView in someArrayOfUIImageViews)
{
CGFrame frame = someImageView.frame;
frame.origin.x += frame.size.width;
someImageView.frame = frame;
[pageScroller addSubview:someImageView];
}
答案 2 :(得分:0)
要进一步了解@ max的答案,您也很可能希望将滚动视图的clipsToBounds属性设置为NO。