AFNetworking setImageWithURL在UITableViewCell上视网膜大小错误
使用最简单的示例,即使用setImageWithURL和20x20px图像加载图像,最终使默认单元格的图像视图变成10x10px 如果我使用以下代码加载图像而不使用AFNetworking的category方法,则图像将按预期设置为20x20: 关于这是为什么有线索吗? (我修正了以前的代码) 示例代码可在以下位置找到:AFNetworking setImageWithURL在UITableViewCell上视网膜大小错误,uitableview,afnetworking,Uitableview,Afnetworking,使用最简单的示例,即使用setImageWithURL和20x20px图像加载图像,最终使默认单元格的图像视图变成10x10px 如果我使用以下代码加载图像而不使用AFNetworking的category方法,则图像将按预期设置为20x20: 关于这是为什么有线索吗? (我修正了以前的代码) 示例代码可在以下位置找到: 还有一种奇怪的行为,AFNetworking调用中的图标不会每次都立即显示。我认为这是一个线程问题,但我已经检查了,图标正在主线程上设置。现在,如果图标没有显示,请将表格向下
还有一种奇怪的行为,AFNetworking调用中的图标不会每次都立即显示。我认为这是一个线程问题,但我已经检查了,图标正在主线程上设置。现在,如果图标没有显示,请将表格向下拉,它将重新绘制。这是我正在努力解决的另一个问题。将imageview帧设置为20x20
您还可以提供该图像的url吗?我不知道AFNetworking的内部工作原理,但这可能是相同的原因,如果您希望UIImage
size
返回像素,那么在视网膜显示器上查询时会得到“意外”值。原因是将像素转换为视网膜显示器上的点
从苹果参考
@属性(非原子,只读)CGSize大小
在iOS 4.0及更高版本中,此值反映图像的逻辑大小,并以点为单位进行测量。在iOS 3.x及更早版本中,此值始终反映以像素为单位测量的图像尺寸
请参阅以下问题和答案:(不特定于AFNetworking)
只需将
UIImageView
的contentMode
设置为“UIViewContentModeScaleAspectFit
”
我只是想提一下,我修复了代码,使其能够实际编译,但现在我无法从远程站点获得该行为。但我只是改变了AFNetworking的缓存机制,因为我也一直得到零图像。哈,这正在发生(我忘记将设备更改为视网膜,很有趣!)。我最初尝试设置值,但没有改变。再一次,只是奇怪的行为。我正在制作一个演示,看看是否能让它再次表现得不正常。谢谢你的回复。谢谢你的回复。奇怪的是,它的工作原理是从同步网络调用加载到URL,而不是从异步调用加载。这才是我真正困惑的地方。我会玩得更多。
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"]]];
}
self.avatarImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,kAvatarDimension,kAvatarDimension)];
[self.avatarImageView setTranslatesAutoresizingMaskIntoConstraints:NO];
[self.avatarImageView setContentMode:UIViewContentModeScaleAspectFit];
[self.avatarImageView setImageWithURL:[NSURL URLWithString:@"http://example.comsomeimage.jpg"] placeholderImage:[UIImage imageNamed:@"avatar_default_black"]];