自定义表格单元格以显示图像

Posted

技术标签:

【中文标题】自定义表格单元格以显示图像【英文标题】:Customize table cells to display images 【发布时间】:2011-05-30 07:14:20 【问题描述】:

我打算将图像(通过 URL 字符串)添加到表格视图中。但是,照片图像不会显示在表格中。下面是我的代码。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) 
    
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];

        UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectZero];
        imageView.tag = kImageValueTag;
        [cell.contentView addSubview:imageView];

        [imageView release];
    

    // Configure the cell...
    NSUInteger row = [indexPath row];
    Photo *thisPhoto = [self.thisArray objectAtIndex:row];

    UIImageView *thisImageView = (UIImageView *)[cell.contentView viewWithTag:kImageValueTag];
    NSData * imageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: thisPhoto.imageURL]];

    NSLog(@"URL: %@",thisPhoto.imageURL);

    thisImageView.image = [UIImage imageWithData:imageData];

    return cell;

我所有的图片都有不同的尺寸。如何让表格根据图片大小显示图片?

【问题讨论】:

【参考方案1】:

以下博客文章可以指导您从互联网下载单元格中的图像。

MHLazyTableImages – Efficiently Load Images for Large Tables

HJCache: iPhone cache library for asynchronous image loading and caching.

当您根据图像询问单元格大小时,我建议您在预定义的矩形中显示所有图像,并且所有图像都相同。

虽然您可以根据图像大小更改每个单元格的大小,但这会降低 UITableView 的性能。

【讨论】:

如果我需要在单个单元格中加载 2 张图像,您是否知道在 MHLazyTableImages 中实现代码是否也可以?

以上是关于自定义表格单元格以显示图像的主要内容,如果未能解决你的问题,请参考以下文章

创建一个 Angular 组件来显示一组 html 表格单元格以嵌入到其他表格中

故事板中的自定义表格视图单元格布局似乎无效

自定义表格视图单元格上的多个图像(Swift)

如何在swift ios中将多个图像添加到自定义表格视图单元格?

无法在自定义表格视图单元格中使 ImageView 成为一个圆圈

在自定义表格单元中更改图像视图