您的位置:首页 > 其它

Xcode 中放置图片的位置,Images.xcassets 和直接放在源文件目录中的区别

2017-10-16 15:26 2021 查看

Xcode 中放置图片的位置,Images.xcassets 和直接放在源文件目录中的区别



1.Images.xcassets中的素材

(1)只支持png格式的图片

(2) 图片只支持[UIImage imageNamed]的方式实例化,但是不能从Bundle中加载。[使用[NSBundle MainBundle] pathForResources 拿不到 images.xcassets里面图片的路径]

(3) 在编译时,Images.xcassets中的所有文件会被打包为Assets.car的文件

2.Bundle(包)中的图片素材

往项目中拖拽素材时,通常选择

(1) Destination: 勾选

(2) Folders:

1)选择第一项:黄色文件夹

注意点:Xcode中分文件夹,Bundle中所有所在都在同一个文件夹下,因此,不能出现文件重名的情况

特点:

a.可以直接使用[NSBundle mainBundle]作为资源路径,效率高!

b.可以使用[UIImage imageNamed:]加载图像

2)选择第二项:蓝色文件夹

注意点:Xcode中分文件夹,Bundle中同样分文件夹,因此,可以出现文件重名的情况

特点:

a.需要在[NSBundle mainBundle]的基础上拼接实际的路径,效率较差

b.不能使用[UIImage imageNamed:]加载图

两者的区别:

1.如果图片是被放到images.xcassets中(部署版本>=ios8),之后打包的资源包中的图片会被放到Assets.car中,图片有被压缩. 如果部署版本<ios8 ,打包的资源包中的图片会被放在MainBundle中,图片不会被压缩。

2.如果图片不被放到images.xcassets中,即直接拖拽到项目当中,无论部署版本是多少,都会被放到MainBundle中。这样图片没有被压缩。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息