图片编译出错

今天在导入一个图片的时候,进行真机测试的时候,发现报错,但是不影响运行,但是真机上不会显示报错的错误,之后自己查找资料,自己理解来看,是因为图片的优化级别可以生成一个最小的文件大小,但是有一个很不好的缺点,就是非常耗时,在xcode有一个设置,这个选项会有可能使你的png图片膨胀,但是可以再xcode的build settings里面设置,如下图

默认情况下Commpress PNG Files是打开状态的,关闭运行,发现错误完美解决。

还有另外一种方式,是把图片放到bundle里面(制作bundle方法,创建一个文件夹,将内容放进去,然后重命名,将文件夹后缀名改为bundle就OK了)。然后将bundle添加入工程,如下

首先需要添加#import <QuartzCore/QuartzCore.h>头文件

 NSBundle *Bundle = [NSBundle bundleWithPath:[[NSBundle mainBundle]pathForResource:@"Bundle" ofType:@"bundle" ]];//获取设定的bundle

    NSString *imageStr = [Bundle pathForResource:imageName ofType:@"png"];//在该路径下寻找imageName为名字的图片后边是格式,返回值是图片的绝对路径

    [_imgView setImage:[UIImage imageWithContentsOfFile:imageStr]];//将图片添加到imageView试图。

最后感谢原博主facingsun688的帖子。

原文地址:https://www.cnblogs.com/Acee/p/5069966.html