我想在
UIScrollView
中显示项目列表,这里有些项目我有图像,有些则没有。具有图像的项目必须与图像一起显示,其他项目只能作为项目列表显示,我该如何实现这一点?我的意思是,如何处理 contentSize、offset 等等。
提前感谢任何帮助。
不要重新发明轮子。使用表视图。这是 UIScrollView 的子类,经过优化以显示项目列表。您可以对带有图像的项目和不带图像的项目使用不同的单元格。
这实际上取决于您想要实现的目标。您必须考虑到,有时最好有一个
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教程。虽然他是水平添加项目,但逻辑是相同的。