2

嗨,我有一个 uitableviewcell,使用 cell.imageView 中 ios 中提供的默认 uitableview 单元格,它的图像是通过像这样的图像的 url 填充的

[cell.imageView setImageWithURL:[NSURL URLWithString:movie.show_image_url] placeholderImage:[UIImage imageNamed:@"placeholder.png"]];

它最初加载一切正常,但是在模拟器中,当我选择一行时,我可以看到单元格中的元素(除了人字形)向左移动,这使得图像视图的宽度看起来更短

我不知道为什么,如果我用存储在应用程序中的静态图像替换 imageview,比如 placeholder.png,那么我不会观察到这个问题。

有人可以帮忙吗?

4

1 回答 1

8

我也遇到了这个问题,并找到了一个非常简单的解决方案——在你的 UITableViewCell 类中覆盖 -layoutSubViews (如果还没有完成,则子类化 UITableViewCell )。

有关详细信息,请参阅SDWebImage 固定宽度单元格图像(在阅读 SDWebImage github 存储库时找到)。

本文中提出的技术涉及在 IB 中可用的标准 UITableViewCell 中控制 UIImageView 和两个 UILabel 几何图形。我正在使用自定义单元格,并且能够通过简单地覆盖 UIImageView 的布局方式来解决问题:

- (void)layoutSubviews
{
    [super layoutSubviews];
    self.thumbnailView.frame = CGRectMake(
                                          0,
                                          0,
                                          THUMBNAIL_WIDTH,
                                          THUMBNAIL_HEIGHT
                                          );

}

(注意 THUMBNAIL_WIDTH 和 THUMBNAIL_HEIGHT 只是宏,都设置为 71)。

希望有帮助。

于 2012-12-13T06:11:04.793 回答