根据图像问题的 UITableview 单元格高度

Posted

技术标签:

【中文标题】根据图像问题的 UITableview 单元格高度【英文标题】:UITableview cell height as per Image issue 【发布时间】:2017-02-23 10:34:46 【问题描述】:

我正在根据 UIImageView 高度做 UITableview 单元格高度(动态高度),目前它工作正常,但我的问题是 UITableview 滚动不顺畅或如果我快速滚动则无法正常工作

我认为问题是我正在重新加载 tableview 单元格中的行,所以 tableview 滚动不起作用任何人都可以告诉我任何关于这个问题的好建议吗?

我做了什么

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

// Create the cell...

[cell.myImageView setImageWithURL:[NSURL URLWithString:@"http://example.com/image.jpg"]
          placeholderImage:[UIImage imageNamed:@"placeholder"]
                 completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) 
    if (image != nil) 
        [self.images insertObject:image atIndex:indexPath.row];
        [tableView reloadRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:YES];
    
];
return cell;

根据图片设置高度

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
id image = [self.images objectAtIndex:indexPath.row];
if ([image isKindOfClass:[NSNull class]]) 
    return defaultHeight;
 else 
    return [image size].height + topPadding + bottomPadding;


【问题讨论】:

你为什么要重新加载你的 UITableViewCell?另外,您是否在使用某种网络库,例如 AFNetworking? 是的,我正在使用 AFNetworking 和 SDWebimage 我正在重新加载行,因为我需要根据 UIIMageview 高度 @KunalKShah 设置 uitableview 单元格高度 @MayankPatel 我最近检查过您正在使用第三方,它设法以异步方式下载。 @agent_stack 我没有图像问题,但我有单元格高度问题 对于表格的动态高度,在heightForRowAtIndexPath 中使用uitableviewautomaticdimension,并在estimatedHeightForRowAtIndexPath 中写入一些预期的高度。 【参考方案1】:

试试这个

- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath 
return UITableViewAutomaticDimension;

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
            UIImage *image = [self.images objectAtIndex: indexPath.row];
            if (image) 
                return image.size.height + 5;
            
            else 
                return 80.0; //default value......
            
        

【讨论】:

完全不相关的答案。

以上是关于根据图像问题的 UITableview 单元格高度的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UITableView 中使用 UIView 实现动态单元格高度和图像高度?

UITableView imageView 复用其他单元格的图片

Xcode UITableView 自定义单元格xib 图像高度

如何根据动态高度单元格设置 UITableView 的高度约束?

UITableview 高度根据单元格设置

如何根据里面的单元格自动设置 UITableView 的高度?