我试图从网站加载图像到桌面视图。我可以加载存储在项目中的图像,但无法从网络获取图像。我知道我在这里失去了一些东西。有任何想法吗?从网站加载图像到桌面视图
UIImage *cellImage = [UIImage imageNamed:
@"http://www.website.com/thumbs/img_10.jpg"];
cell.imageView.image = cellImage;
任何帮助将是伟大的!谢谢!
我试图从网站加载图像到桌面视图。我可以加载存储在项目中的图像,但无法从网络获取图像。我知道我在这里失去了一些东西。有任何想法吗?从网站加载图像到桌面视图
UIImage *cellImage = [UIImage imageNamed:
@"http://www.website.com/thumbs/img_10.jpg"];
cell.imageView.image = cellImage;
任何帮助将是伟大的!谢谢!
您可以使用它像这样:
NSURL *imageURL = [NSURL URLWithString:@"http://www.gravatar.com/avatar/53789a67f8fffd8ede2ea118165ff962?s=32&d=identicon&r=PG"];
NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
UIImage *cellImage = [UIImage imageWithData:imageData];
但同步使用这种方式将阻止你的UI获得的图像。你最好异步获取图像。发送请求并在获取图像后,使用请求委托方法更新您的UI。
谢谢@sunkehappy,你给我的代码有效,但我不确定如何异步获取图像。我拥有所有的单元格数据,包括存储在JSON数组中的图像的URL。你给我的代码工作,但它有点慢,并导致tableview非常“粘性”。有任何想法吗?谢谢! – Brandon
http://developer.apple.com/library/ios/#samplecode/LazyTableImages/Introduction/Intro.html。你见过这个项目吗?它使用'NSURLConnection',你可以使用它或其他库如ASIHTTPConnection或RestKit。 – sunkehappy
试试这个:
NSData *imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"give your url hrere."]];
UIImage *image = [UIImage imageWithData:imageData];
cell.imageView.image =image;
见LazyTableImages示例应用程序。它显示了如何从Internet正确加载图像并将它们放入表格单元格中。 – rmaddy
谢谢@rmaddy,我将以JSON格式返回tableview的所有其余内容,是否有一种“lazier”的方式来做到这一点,因为我把URL从JSON的图像拉到图像? – Brandon
您必须使用Web请求自己加载图像数据(或使用其中一个URL函数)。您无法使用带有imageNamed:的网址。 – dcow