如何在UIScrollView中实现这一目标?

时间:2011-12-30 08:09:03

标签: iphone objective-c ios ipad xcode4

我想在UIScrollView内显示一个项目列表,这里有些项目我有图片,有些则没有。具有图像的项目必须与图像一起显示,其他项目作为项目列表显示,我该如何实现?我的意思是,如何处理contentSize,offset和all。

提前感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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教程。虽然他是水平添加项目,但逻辑是一样的。

P.S:为了获得更多帮助,你应该提高你的录取率。 :)