2

这个问题困扰了我一个月,我一直拒绝发布它,但我不能再坚持了。这是发生了什么:

我有一个带有UITableViewCells 的应用程序,全部初始化为UITableViewCellStyleDefault. 对于每一个,我使用优秀的 SDWebImage 包设置图像视图的图像,它扩展了 UIImageView 以具有 [UIImageView setImageWithURL:(NSURL*)url placeholderImage:(UIImage*)image] 的方法。

问题是图像在 tableView 上显示的比应有的窄,但由于某种原因,选择一行使其大小正确。将行滚动到屏幕外,然后在屏幕上,然后在屏幕外滚动也是如此。

我应该使用什么方法来强制单元格重绘?我发现了一些相互矛盾的想法,但到目前为止都没有奏效。我觉得我错过了对 UITableView 到 UITableViewCell 的简单调用。另外,我在哪里打这个电话?我试过打电话cellForRowAtIndexPathwillDisplayCell

谢谢你的帮助!

SDWebImage:https ://github.com/rs/SDWebImage

4

2 回答 2

0

我解决了这个问题 - 我必须让SDWebImage占位符图像与我尝试加载的图像具有相同的纵横比。由于我的服务器强制我的所有图像为 95x95,这是一个相对简单的修复;我只是将我的尺寸更新placeholder.png为 95x95(而不是一些奇怪的尺寸,比如 92x132)

于 2011-11-08T17:18:34.470 回答
0
[[cell imageView] setContentMode:UIViewContentModeScaleAspectFit];

此行使 imageview 以其原始分辨率显示图像,但适合图像视图大小。

主要的缺点是如果你有不同尺寸的图像,那么每张图像都会显示不同的尺寸......它看起来不应该很好......

于 2011-11-15T05:15:15.943 回答