如何将图像下载到应用程序中?就像我想从我的网站上获取图像并将其下载到人的iPhone应用程序中以显示在应用程序中?基本上,网址不会显示图片。
更具体:
如何在不使用UIImage的情况下将图像下载到应用程序。我想获取图像并将其下载为文件名“anne.png”,然后使用UIImage作为anne.png在整个应用程序中引用它。请参阅 - 我想先下载它,以便当有人第二次访问应用程序时,他们会看到图像,并在此期间看到默认图像..谢谢。?
答案 0 :(得分:0)
对于单张图片,您可以使用以下内容。请记住,这将阻止用户界面直到图像完全下载。
[UIImage imageWithData:[NSData dataWithContentsOfURL:photoURL]];
要在不阻止用户界面的情况下下载图像:
dispatch_queue_t downloadQueue = dispatch_queue_create(“image downloader”, NULL);
dispatch_async(downloadQueue, ^{
[NSData dataWithContentsOfURL:photoURL];
dispatch_async(dispatch_get_main_queue(), ^{
UIImage *image = [UIImage imageWithData:imageData];
// Code to show the image in the UI goes here
});
});
要将图像保存到手机相机胶卷,您可以使用UIImageWriteToSavedPhotosAlbum。
将图像保存在应用程序的目录中。使用NSData的writeToFile:atomically:
要从网站下载多张图片,这可以帮助您:
What's the best way to download multiple images and display multiple UIImageView?
答案 1 :(得分:0)
http://mobiledevelopertips.com/cocoa/download-and-create-an-image-from-a-url.html
远程图片的网址
我们首先创建一个远程资源的URL:
NSURL *url = [NSURL URLWithString: @"http://mobiledevelopertips.com/images/logo-iphone-dev-tips.png"];
从NSData创建UIImage
下一步是使用从URL下载的数据构建UIImage,该数据包含一个保存远程图像内容的NSData对象:
UIImage *image = [UIImage imageWithData: [NSData dataWithContentsOfURL:url]];
将它放在一起
以下是如何将它们全部包装在一起,通过从上面的UIImage创建UIImageView,将远程图像作为子视图添加到现有视图中:
NSURL *url = [NSURL URLWithString:@"http://mobiledevelopertips.com/images/logo-iphone-dev-tips.png"];
UIImage *image = [UIImage imageWithData: [NSData dataWithContentsOfURL:url]];
[self.view addSubview:[[UIImageView alloc] initWithImage:image]];