【发布时间】:2011-12-30 08:09:03
【问题描述】:
我想在 UIScrollView 中显示一个项目列表,这里有些项目我有图像,有些没有。具有图像的项目必须与图像和其他项目一起显示为项目列表,我该如何实现?我的意思是,如何处理 contentSize、offset 等等。
提前感谢任何帮助。
【问题讨论】:
标签: iphone objective-c ios ipad xcode4
我想在 UIScrollView 中显示一个项目列表,这里有些项目我有图像,有些没有。具有图像的项目必须与图像和其他项目一起显示为项目列表,我该如何实现?我的意思是,如何处理 contentSize、offset 等等。
提前感谢任何帮助。
【问题讨论】:
标签: iphone objective-c ios ipad xcode4
不要重新发明轮子。使用表格视图。这是 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 教程。虽然他是横向添加项目,但逻辑是一样的。
P.S:为了让你得到更多的帮助,你应该提高你的接受率。 :)
【讨论】: