如何在 UIScrollView 中实现这一点?

问题描述 投票:0回答:2

我想在

UIScrollView
中显示项目列表,这里有些项目我有图像,有些则没有。具有图像的项目必须与图像一起显示,其他项目只能作为项目列表显示,我该如何实现这一点?我的意思是,如何处理 contentSize、offset 等等。

提前感谢任何帮助。

iphone objective-c ios ipad xcode4
2个回答
1
投票

不要重新发明轮子。使用表视图。这是 UIScrollView 的子类,经过优化以显示项目列表。您可以对带有图像的项目和不带图像的项目使用不同的单元格。


0
投票

这实际上取决于您想要实现的目标。您必须考虑到,有时最好有一个

UITableView
和一些自定义
UITableViewCell
(出于记忆目的)。

好吧,假设您想要一个带有垂直滚动的

UIScrollView
。您将拥有带有一些随机图像的物品和其他根本没有图像的物品。您所要做的就是在您的
UIScrollView
中不断添加您的项目。您可以通过
while
循环来完成此操作。您唯一需要注意的是物品的尺寸。因此,假设您有高度为 140 的项目。你可以做这样的事情(我没有编译这段代码):

float yReference=0.0f;  
while(MyItem *item in arrayOfItems){
   [myScroll addSubview:item.view];
   item.view.frame=CGRectMake(0.0f, yReference+20.0f, item.view.frame.size.width,   item.view.frame.size.height);
   yReference+=140.0f;
}

好的,现在您已将所有项目添加到您的

UIScrollView
中,它们之间的间距为 20.0f。一段时间后,您只需设置正确的
contentSize
UIScrollView
:

myScroll.contentSize=vReference+20.0f;

(我再次添加了 20.0f 只是为了在末尾有一点空间)

如果您需要更多帮助,可以查看this教程。虽然他是水平添加项目,但逻辑是相同的。

© www.soinside.com 2019 - 2024. All rights reserved.