使用带有20x20px图像的setImageWithURL加载图像的最简单示例最终会使默认单元格的图像视图为10x10px。
如果使用以下代码在没有AFNetworking类别方法的情况下加载图像,则图像将按预期设置为20x20:
为什么会这样? (我修改了以前的代码)。
UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Whatever"];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Whatever"];
}
if (indexPath.row == 0) {
[cell.imageView setImageWithURL:[NSURL URLWithString:@"http://acidblue.com/images/Gender_Male.png"]];
} else {
cell.imageView.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://acidblue.com/images/Gender_Male.png"]]];
}
示例代码可在以下位置找到: https://www.dropbox.com/s/ha9lw7suenolzb2/AFNetworkingCellExample.zip
还有一种奇怪的行为,因为每次都不会立即显示AFNetworking呼叫中的图标。我认为这是一个线程问题,但我已检查并且主线程上正在设置图标。目前,如果图标没有显示,请将表格向下拉,然后重绘。这是我想要解决的另一个问题。
答案 0 :(得分:0)
将您的imageview框架设置为20x20
你能提供那张图片的网址吗?答案 1 :(得分:0)
我不知道AFNetworking的内部工作方式,但可能是同样的原因,如果您希望UIImage size
返回像素,则在Retina显示屏上查询时会出现“意外”值。原因是将像素转换为Retina显示屏上的点
@property(非原子,只读)CGSize大小
在iOS 4.0及更高版本中,此值反映图像的逻辑大小,并以磅为单位进行测量。在iOS 3.x及更早版本中,此值始终反映以像素为单位测量的图像尺寸。
请参阅以下问题和答案:(并非特定于AFNetworking)
答案 2 :(得分:0)
只需将contentMode
的{{1}}设置为“UIImageView
”。
UIViewContentModeScaleAspectFit