Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AFNetworking setImageWithURL在UITableViewCell上视网膜大小错误_Uitableview_Afnetworking - Fatal编程技术网

AFNetworking setImageWithURL在UITableViewCell上视网膜大小错误

AFNetworking setImageWithURL在UITableViewCell上视网膜大小错误,uitableview,afnetworking,Uitableview,Afnetworking,使用最简单的示例,即使用setImageWithURL和20x20px图像加载图像,最终使默认单元格的图像视图变成10x10px 如果我使用以下代码加载图像而不使用AFNetworking的category方法,则图像将按预期设置为20x20: 关于这是为什么有线索吗? (我修正了以前的代码) 示例代码可在以下位置找到: 还有一种奇怪的行为,AFNetworking调用中的图标不会每次都立即显示。我认为这是一个线程问题,但我已经检查了,图标正在主线程上设置。现在,如果图标没有显示,请将表格向下

使用最简单的示例,即使用setImageWithURL和20x20px图像加载图像,最终使默认单元格的图像视图变成10x10px

如果我使用以下代码加载图像而不使用AFNetworking的category方法,则图像将按预期设置为20x20:

关于这是为什么有线索吗? (我修正了以前的代码)

示例代码可在以下位置找到:


还有一种奇怪的行为,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"]];