我想在图像视图中使用URL显示图像。我试过用这个:
[cell.avatarImageView.image setImageWithURL:[NSURL URLWithString:@"http://www.innovaworks.com/wp-content/themes/innovaworks/images/home_person.png"]];
但它给了我这个警告:
UIImage可能无法响应" setImageWithUrl"
并且图像未显示。
答案 0 :(得分:2)
UIImage上没有方法可以使用网址设置图像。
有关如何根据网址的数据内容设置图片的完整说明,请参阅此答案:https://stackoverflow.com/a/2782491/209867
要点是:
UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.innovaworks.com/wp-content/themes/innovaworks/images/home_person.png"]]];
了解这是同步 UITableView
内的滚动效果会非常糟糕,你不应该使用它!我只提供技术准确性和全面性的答案。
由于您似乎从某处复制了此代码,因此有许多开源类别会异步加载来自网址的图片。
一个这样的开源项目是SDWebImage。 https://github.com/rs/SDWebImage这是一个广泛使用的项目,可让您轻松地异步从网址加载UIImage
。
答案 1 :(得分:0)
-setImageWithURL:
不是UIImage
方法。您想先使用NSURLRequest
,NSURLSession
等(documentation)获取图片数据。然后分配一个UIImage并使用initWithData:
构造函数。然后使用图片视图的setImage:
方法进行设置。
答案 2 :(得分:0)
尝试
[cell.avatarImageView setImageWithURL:[NSURL URLWithString:@"http://www.innovaworks.com/wp-content/themes/innovaworks/images/home_person.png"]];
或者
cell.avatarImageView.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.innovaworks.com/wp-content/themes/innovaworks/images/home_person.png"]]];