UIImage is empty after calling imageWithContentsOfFile - ios

As you can see, that I have put my the national flags in a folder in Xcode and I am trying to display it to the navigation bar. However, it is not showing up and I found out:
NSString *imageName = [NSString stringWithFormat:#"%#.icns",countryName];
UIImage *image = [UIImage imageWithContentsOfFile:imageName];
image is "nil".
Any idea? Thanks!

You could use like this
NSString *imageName = [NSString stringWithFormat:#"%#.icns",countryName];
UIImage *image = [UIImage imageNamed:imageName];
Please Try This

Check whether the file actually exists. I suspect it doesn't. Use [NSFileManager defaultManager] fileExistsAtPath:.

Where was the image path you are sending NSString to here
UIImage imageWithContentsOfFile:imageName
send the path to that method. or make like this
UIImage *image = [UIImage imageNamed:[NSString stringwithFormat:#"%#.icns",countryName]];

Related

data type issue with image URL

I'm sure this is an easy fix, but I can't seem to work it out...
group[PF_GROUP_FEATURED] is just a database reference to a URL. I am trying to get these images to show up in my tableView cells.
My error is "incompatible pointer types sending UIImage to parameter type NSString.."
UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:group[PF_GROUP_LOGO]]]];
cell.imageView.image = [UIImage imageNamed:image];
cell.imageView.image = image ;
cell.imageView.image = image;
https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIImage_Class/#//apple_ref/occ/clm/UIImage/imageNamed:

Unable to set image to the imageview dynamically from web

I'm using the following piece of code to download image from web and add it to array.
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
UIImage* myImage = [UIImage imageWithData:
[NSData dataWithContentsOfURL:
[NSURL URLWithString: #"http://tcpm.mrlazyinc.com/files/users/themafia/te/beauty/02.jpg"]]];
recipePhotos = [[NSMutableArray alloc] initWithObjects:myImage, #"2.png", #"3.png", #"4.png", #"5.png", #"6.png", #"6.png", #"8.png", #"9.png", #"10.png", nil];
});
I'm setting the image on to the ui using the following code,
UIImageView *recipeImageView = (UIImageView *)[cell viewWithTag:100];
recipeImageView.image = [UIImage imageNamed:[recipePhotos objectAtIndex:indexPath.row]];
During runtime, image is downloaded from the web is not displayed. Is there anything that I'm missing?
what u are doing is using [UIImage imageNamed: ]
but this will access the object of array recipePhotos and the string in each object will be returned.so u dont have images with those names.
Since the object stored in array is an image u should try this
so try doing
recipeImageView.image = [recipePhotos objectAtIndex:indexPath.row]
or
recipeImageView.image = [UIImage imageWithData:[recipePhotos objectAtIndex:indexPath.row]
In the array recipePhotos only the first index contains proper UIImage as it contains full path that is "http://tcpm.mrlazyinc.com/files/users/themafia/te/beauty/02.jpg" (myImage) and other than that only strings without the file path that is http://tcpm.mrlazyinc.com/files/users/themafia/te/beauty/
recipePhotos = [[NSMutableArray alloc] initWithObjects:myImage, #"2.png", #"3.png", #"4.png", #"5.png", #"6.png", #"6.png", #"8.png", #"9.png", #"10.png", nil];
});
Try to NSLog the array recipePhotos
Use SDWebImage Class to set image to the imageview dynamically from web
Import following file to your header file.
#import "UIImageView+WebCache.h"
after importing file try following code.
[self.imgLogo sd_setImageWithURL:[NSURL URLWithString:[NSString stringWithFormat:#"%#",[self.dictTemp valueForKey:#"camp_image"]]] placeholderImage:[UIImage imageNamed:#"placeholder.jpg"]];
Download library from below link :-
https://github.com/rs/SDWebImage

how to convert a URL string into an UIImage [duplicate]

This question already has answers here:
iOS: load an image from url
(9 answers)
Closed 8 years ago.
NSString *imageName = [NSString stringWithFormat:#"%#UploadedImages/%#",appDel.serverUrl,[[sCatArray objectAtIndex:indexPath.row] objectForKey:#"SubCategoryIcon"]];
in imageName string getting the string as given below., How to convert these url to an image
http://appliicdev.xtechnologies.com/iapp/UploadedImages/5bc77bdd-3eaf-4491-813a-5aedcbfbba41.jpg
Thanks
You can use imageWithData from UIImage. Like,
UIImage *image =[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:imageName]]];
your coding is fine
change this line
NSString *imageName = [NSString stringWithFormat:#"%#UploadedImages/%#",appDel.serverUrl,[[sCatArray objectAtIndex:indexPath.row] objectForKey:#"SubCategoryIcon"]];
into bz ur URL contains /UploadedImages/
NSString *imageName = [NSString stringWithFormat:#"%#/UploadedImages/%#",appDel.serverUrl,[[sCatArray objectAtIndex:indexPath.row] objectForKey:#"SubCategoryIcon"]];
yourimageName.image =[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:imageName]]];
will u need to load the UIImage in quickly` use
Asynchronous FreeLoader
SDWebImage
when I try your image in browser it showing the error so check once path is valid or not otherwise your image name is valid or not
Try this:
NSString *imageName = [NSString stringWithFormat:#"%#UploadedImages/%#",appDel.serverUrl,[[sCatArray objectAtIndex:indexPath.row] objectForKey:#"SubCategoryIcon"]];
UIImage *imgObj = [UIImage imageWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString:imageName]]];
_yourImgView.image=imgObj;

How can I convert imageNamed to imageWithContentsOfFile?

I tried to convert imageNamed: to imageWithContentsOfFile: and I failed everytime. I could not see pictures on cells.
UIImage *image = [UIImage imageNamed:[cellCountry objectForKey:#"Country_Flag"]];
cell.imageView.image = image;
[cellCountry objectForKey:#"Country_Flag"] holds flag1#2x.png
Path of image files is /Resources/Images
and This is my attempt.
UIImage *image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:[cellCountry objectForKey:#"Country_Flag"] ofType:#"png"]];
cell.imageView.image = image;
How can I convert it? I am waiting your help...
Your attempt to use imageWithContentsOfFile is close. Since the value from [cellCountry objectForKey:#"Country_Flag"] already has the file extension, you can't also specify the extension when getting its path.
Try:
UIImage *image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:[cellCountry objectForKey:#"Country_Flag"] ofType:nil]];
You should try out the following
[UIImage imageWithContentsOfFile:[
[NSBundle mainBundle] pathForResource:#"mainScreenBackground" ofType:#"png"]]

UIImage with NSData initWithData is nil

The following code does not seem to load an image.
uiTabBarItem = [[UITabBarItem alloc] init];
NSData *datatmp = [NSData dataWithContentsOfFile:#"newsicon.png"];
UIImage *tmp = [[UIImage alloc] initWithData:datatmp];
uiTabBarItem.image = tmp;
datatmp is nil (0x000000) and
the image does exist.
I. Don't reinwent the wheel. Use tmp = [UIImage imageNamed:#"newsicon.png"]; instead.
II. NSData expects a full file path when being initialized from a file. The following would work (but you don't have to use this anyway, as I just pointed it out):
NSString *iconPath = [[NSBundle mainBundle] pathForResource:#"newsicon" ofType:#"png"];
NSData *datatmp = [NSData dataWithContentsOfFile:iconPath];
Loading an image from a file is best accomplished with:
[UIImage imageNamed: "newsicon.png"];

Resources