iPhone水平滚动

DBP*_*DBP 2 iphone uiscrollview horizontal-scrolling

我正在尝试使用水平滚动创建一个应用程序,以便可以在一系列图像中水平滚动.我观看了WWDC Session 104视频,虽然他们制作了一个有趣的应用程序,但他们很快就完成了它的基础知识.

我理解使用UIScrollView,我必须启用分页.之后他们说我应该添加更多视图作为scrollview的子视图,但我不清楚如何做到这一点.我也不清楚如何将我的图像添加到这些视图中.

你可能会告诉我这是一个很新的所以任何帮助将不胜感激.

Kal*_*lle 12

你想看看UIImageView.这是专门用于保存图像的视图.

添加图像时,您需要设置它们的值(可能使用initWithFrame:每个图像UIImageView),以便:

  • 第一张图片是0,0
  • 第二张图像是320,0
  • 第三是640,0(等)

即每个图像都是前一个320像素.

最后一步是contentSize为您设置UIScrollView- 这是一个CGSize描述滚动视图总大小的.

如果您有3张图像,则可以使用例如将其设置为(320*3)*480

myScrollView.contentSize = CGSizeMake(320*3, 480);
Run Code Online (Sandbox Code Playgroud)

许多人在初始化滚动视图时,都有一个for循环或类似的循环,他们会逐步浏览他们想要显示的图像.这些for循环往往看起来像这样:

CGFloat scrollWidth = 0.f;
for (UIImage *someImage in someNSArrayWithImages) {
    UIImageView *theView = [[UIImageView alloc] initWithFrame:
        CGRectMake(scrollWidth, 0, 320.f, 480.f)];
    theView.image = someImage;
    [myScrollView addSubview:theView];
    [theView release];
    scrollWidth += 320.f;
}
myScrollView.contentSize = CGSizeMake(scrollWidth, 480.f);
Run Code Online (Sandbox Code Playgroud)

通过这种方式,您可以排列内容并同时为您获取内容大小.

如果你想让滚动视图"智能地"滚动到每个图像并在人们向左/向右滑动时停止,你可以这样做myScrollView.pagingEnabled = YES.

希望有助于您前进.