标签:
图片资源放在Assets.xcassets中,分别用UIImage的类方法imageNamed和imageWithContentsOfFile获取图片对象,但发生奇怪的情况,前者获取到图片对象,后者结果为nil。代码如下:
1.通过UIImage的类方法imageNamed:可以获取到图片对象。
NSString *imageName = @"test.jpg"; UIImage *img = [UIImage imageNamed:imageName];
2.但通过UIImage的类方法imageWithContentsOfFile:得到img为nil
NSString *imageName = @"test.jpg"; NSBundle *bundle = [NSBundle mainBundle]; NSString *path = [bundle pathForResource:imageName ofType:nil]; UIImage *img = [UIImage imageWithContentsOfFile:path];
其实,UIImage创建对象有两种方法:
imageNamed只需传文件名,imageWithContentsOfFile需要传入文件全路径。 而通文件全路径可以通过NSBundle对象方法 pathForResource: ofType:得到。这时候要注意:Assets.xcassets图片资源不能通过NSBundle对象方法 pathForResource: ofType:获得。想获取Assets.xcassets图片资源只能使用imageNamed:。
解决方法:
把图片资源放在Assets.xcassets外的目录。
标签:
原文地址:http://www.cnblogs.com/Zev_Fung/p/5407642.html