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

来源:互联网 发布:mac上绘画软件 编辑:程序博客网 时间:2024/05/17 01:09

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中。这样图片没有被压缩。

阅读全文
0 0
原创粉丝点击