如何使用不同高度的 UISCrollView 分页?

Posted

技术标签:

【中文标题】如何使用不同高度的 UISCrollView 分页?【英文标题】:how can i use UISCrollView paging with different heights? 【发布时间】:2011-07-13 07:58:50 【问题描述】:

我有一个 UIScrollView,当用户水平滑动时它会显示多个图像。但是这些图像没有相同的高度。第一个图像的高度比第二个高。

1.我要做的是当人滑动时,下一张显示的图片位于顶部。

2.同样在使用ScrollView的分页时,垂直滚动不流畅,会跳过一整帧。我读过我不能使用 ScrollView 的分页来获得垂直滚动平滑。

有什么想法吗?

对于第一个问题,我应该加载带有图像的笔尖吗?滑动后如何加载笔尖?

更新的问题:有没有办法,当我从左到右或从右到左滑动时,我可以加载笔尖(里面有它自己的滚动和图像视图)?因为在 uiscrollview 中并排加载图像是行不通的。

【问题讨论】:

【参考方案1】:

设置

[imageView setContentMode:UIViewContentModeScaleAspectFit];

这将在适当的方面显示图像...您不必担心图像大小

[imageView setAutoresizingMask:UIViewAutoresizingFlexibleBottomMargin];

这将使您的 imageView 附加到 scrollView 的顶部。

【讨论】:

我认为这与底部答案相同。我先试试【参考方案2】:

如果您希望每个图像都显示在 scrollView 的顶部,请相应地调整 image.frame。

UIImageView *imageView;
UIImage *image = [UIImage imageWithData:loadTheImage];

imageView.image = image;
imageView.frame = CGRectMake(0, 0, 280, 480);

在 CGRectMake 中,前两个值指定图像的填充。第一个是 x 值,第二个是 y 值。如果两者都为 0,则图像显示在左上角。 这有意义吗?

【讨论】:

确实有道理。这就是我现在正在做的事情。图像在顶部。但是,如果我向下滚动并滑动到下一张图像,它将显示图像的中间部分。我想要做的是,如果我滑动,下一张图片将自动显示在顶部。谢谢你的回复,我很感激。 有没有办法,当我从左到右或从右到左滑动时,我可以加载笔尖(里面有它自己的滚动和图像视图)?因为在 uiscrollview 中并排加载图像是行不通的。 这不起作用,因为 imageView 尚未初始化,因此为空。

以上是关于如何使用不同高度的 UISCrollView 分页?的主要内容,如果未能解决你的问题,请参考以下文章

在 UIScrollView 中延迟加载不同尺寸的图像而不分页

如何对不同页面大小的 UIScrollView 进行分页?

UIScrollview 分页中的 UITextview

UIScrollView 一个分页器

链接 2 UIScrollView 与不同的分页大小

UIScrollView 分页仅用于水平,而不是垂直?