在 iPhone 和 iPad 上使用动态创建的缩略图滚动视图



我需要一个长长的可滚动视图,每行有 2 个缩略图(壁纸)。

每个缩略图还有一个用于共享和下载照片的按钮,当您单击缩略图时,它会显示全尺寸壁纸。所以我正在考虑制作一个包含缩略图和两个按钮的自定义视图 (200x200),并根据服务器上的壁纸数量将它们动态添加到滚动视图中。

像这样:

NSUInteger i;
int xCoord=0;
int yCoord=0;
int thumbnailWidth=200;
int thumbnailHeight=200;
int buffer = 10;
for (i = 1; i <= [items count]; i++)
{
    UIView *aView = [[ThumbnailView alloc] initWithThumnailAtIndex: i ];
    aView.frame     = CGRectMake(xCoord, yCoord, thumbnailWidth, thumbnailHeight );
    [scrollView addSubview:aView];
    xCoord += thumbnailWidth + buffer;
    yCoord += thumbnailHeight + buffer;
}
[scrollView setContentSize:CGSizeMake(700, yCoord)];

你认为这是一个好方法吗?另外,如果滚动视图中有很多缩略图,我将如何处理缩略图的延迟加载?

正如这里的其他人所说,使用 UITableView。 我要补充一点,你应该使用一个自定义的UITableViewCell子类。 创建类,然后使用情节提要创建具有原型单元格的表视图场景。 将原型单元格的类设置为单元格子类。 将任意数量的图像视图、标签、按钮以及您想要的任何废话添加到情节提要上的原型单元格中,然后使用 IBOutlet 将它们连接到您的自定义类。 现在,当需要在单元格中显示某些内容时,只需将包含自定义单元格子类所需的所有信息的对象或字典传递给自定义单元格子类,并让它通过出口填充各种视图。 这是一个教程:http://www.techotopia.com/index.php/Using_Xcode_Storyboards_to_Build_Dynamic_TableViews_with_Prototype_Table_View_Cells

我建议你将UITableView与自定义UITableViewCell实现一起使用。表视图将自动处理单元格的回收,因此您无需担心性能。

您可以在视图初始化期间预加载所有资产,然后只需在表视图的数据源中使用它们。

我会使用UITableView,每个单元格将包含两个图像。看看这个答案。

关于加载图像,请尝试使用EGOImageLoader,非常简单有效。这是Github项目。

最新更新