一般加载图片资源使用的是两种方式,一种是直接用UIImage imagedNamed 来加载。长这个样子。
[UIImage imageNamed:imageName]
这种加载的方式是会缓存图片资源。另一种不会缓存图片;长这个样子
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:imageName ofType:imageType]]
xcode5 和 iOS7 开始。使用Images.xcassets 是用来存放图片资源。从在app打包后,以Asserts.car文件的形式出现在bundle中。其作用在于:自动识别@2x,@3x图片,对内容相同但分辨率不同的图片统一管理;可以对图片进行剪裁和拉伸处理。但是从images.xcassets 中加载图片资源的时候,只能使用 imagedNamed 这个方法。所以如果一些比较大的图片资源,需要放在项目文件目录中。
需要特别注意一个地方。就是如果图片的后缀不是png的时候。采用imagedNamed来加载的时候,需要把后缀名字也写上。这样才能正确找到这个图片资源。