Load UIImage from URL in iOS
Solution 1
Use AFnetworking
where you can set placeholder image also if the url is not correct. This is more efficient when you are loading images in a tableview or a collection view.
Import UIImageView+AFNetworking.h
#import "UIImageView+AFNetworking.h"
and us the following code:
NSString *url1=@"http://www.fnordware.com/superpng/pnggrad16rgb.png";
[self.image setImageWithURL:[NSURL URLWithString:url1] placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
You can download it from gitHub
Solution 2
Try this code to get image...
Code:
NSURL *url = [NSURL URLWithString:@"http://www.fnordware.com/superpng/pnggrad16rgb.png"];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *image = [UIImage imageWithData:data];
[self.imageview1 setImage:image];
Note: i have used test url. you can use your url.
Update : Swift 3.0 Code :
let url = URL(string: "http://www.fnordware.com/superpng/pnggrad16rgb.png")
do {
let data = try Data(contentsOf: url!)
var image = UIImage(data: data)
self.imageView.image = image
print(image)
} catch {
}
Note : In Xcode version 7.1 and above you need to set ATS (App Transport Security). To set ATS you need write below code in info.plist file. Make sure url of image should not be nil.
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
Solution 3
Check out AsyncImageView
. Its the best async image loader AFAIK. all you have to do is set the image URL to the imageview and the rest is taken care of. including caching.
Solution 4
I found the problem
My code is working correctly.
The problem was somewhere in my code , the ImageView
was nil
.
Thanks all
Ahd Radwan
Updated on July 05, 2022Comments
-
Ahd Radwan almost 2 years
I am trying to load a
UIImage
from its URL withcompletion
andplaceholder
image , but neither theUIImage
nor the placeholderUIImage
are loaded.Here is my code:
NSURL *url = [NSURL URLWithString:@"http://assets.gearlive.com/tvenvy/blogimages/stewiegriffin.jpg"]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [self.imageView setImageWithURLRequest:request placeholderImage:[UIImage imageNamed:@"bg.png"] success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) { imageView.image = image; } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {} ];
-
thanhbinh84 over 7 yearsthis one is very easy to use
-
Simon over 7 yearsTested this in Playgrounds, converted to swift 3, and works perfectly! Thanks!
-
Nikhil Manapure almost 7 yearsI had used SDImage, never knew AF could do that too...Thanks
-
Jignesh B almost 7 yearscan i able to use image url as placeholder image ?
-
Ashok Londhe over 6 years@Simon Thanks for your feedback i have updated the answer and also added code for swift.
-
C-H-E-F over 6 yearsFor any future devs, the import is no longer necessary.