我使用以下方法在UIImageView中设置图像:
[self.imageView setImageWithURL:[NSURL URLWithString:urlString] placeholderImage:[UIImage imageNamed:@"random_image"]];
我可以按预期看到手机上的图像。
但是,如果我使用没有占位符参数的方法
[self.imageView setImageWithURL:[NSURL URLWithString:urlString]];
或者将placeholderImage传递为nil
[self.imageView setImageWithURL:[NSURL URLWithString:urlString] placeholderImage:nil];
然后没有设置图像,我的imageView是空白的。我了解占位符图片用于" 表示适合临时显示在您的扩展程序用户界面中的资产的当前状态。"。
我不明白它的缺席会影响我影响的方式。有什么指针吗?
答案 0 :(得分:0)
如果设置默认占位符图像,则imageview会获得宽度和夜晚。否则,imageview框架可能是(0,0)。
或者
应该使用NSURLConnection异步下载图像,并且只有在完全下载后才能将其转换为UIImage并分配给图像视图
[NSURLConnection sendAsynchronousRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:imageUrl]] queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * response,NSData * data,NSError * error){
ImageViewName.image = [UIImage imageWithData:data];
}];
答案 1 :(得分:0)
我发现了这个问题。我在UITableViewCell中添加了一个名为 imageView 的图像视图。显然,UITableViewCell已经有一个同名的属性。我将myImageView的名称更改为cellImageView,现在,我不再需要占位符参数了!话虽如此,我仍然不明白屏幕背后发生了什么!
答案 2 :(得分:0)
我希望这些代码可以帮助你......
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
dispatch_async(queue, ^{
UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:
[NSURL URLWithString:@“image URL”]]];
dispatch_sync(dispatch_get_main_queue(), ^{
[[cell myimage] setImage:image];
}
});
});