iOS中创建多个Assets.xcassets文件

Assets.xcassets是用来存放图像资源文件的。将一个图片放在Assets里面如下图所示:

1672235-c0f1d6c5804805ba.png
1.png

随着项目的增大,有时候使用一个Assets.xcassets文件,就显得比较臃肿了,此时我们可以根据项目结构,新建多个Assets.xcassets文件,具体步骤如下:

1.点击File -- New -- File...(或者点击command+N),在弹出的对面板中选择Assets.xcassets
1672235-30105cd4d8b54add.png
2.png
2.点击Next,输入xxx.xcassets的文件名字
1672235-b5a924eabde7fe39.png
3.png
3.点击create,创建xxx.xcassets文件。
1672235-05e5bc6a0ecda0da.png
4.png

创建完成以后,项目目录结构中,就会增加一个新建的xxx.xcassets文件,如下图所示

1672235-85f8b7f65df80357.png
5.png

此时,xxx.xcassets文件中可加入新的图片,加载图片的方法与系统的Assets.xcassets文件相同,如:

    UIImage *image = [UIImage imageNamed:@"Contact_icon_ContactTag"];
    UIImageView *imageview = [[UIImageView alloc] initWithImage:image];
    imageview.frame = CGRectMake(50, 50, image.size.width, image.size.height);
    [self.view addSubview:imageview];

效果如图所示:


1672235-23f49a0e70cc58e7.png
6.png
总结:

如果图片存放在Assets资源管理器,最终里面所有的图片会被打包成Assets.car ,可用cartool可以把图片弄出来,详细可参考 iOS中快速获取图片资源,使用这Assets用来存放图像资源文件有以下几个好处:
1、自动管理图片,如@1x,@2x图片,使用的时候使用Asset 名字即可;
2、管理应用的Icon和Default图片,这个挺方便的,可以完全抛开以前规范命名如Icon.png,Icon@2x.png,Xcode会自动识别尺寸然后匹配进去;
3、方便模块图片管理,可以针对模块建立Component1.xcassets,在这个Category中去建立新的Image set;
4、可以可视化管理图片拉伸,从而抛弃到处使用resizeImage...来获取拉伸图片;

使用Assets注意事项:

这个方法用一个指定的名字在系统缓存中查找并返回一个图片对象如果它存在的话。如果缓存中没有找到相应的图片,这个方法从指定的文档中加载然后缓存并返回这个对象。因此imageNamed的优点是当加载时会缓存图片。所以当图片会频繁的使用时,那么用imageNamed的方法会比较好。

imageWithContentsOfFile,其参数也是图片文件的路径。 仅加载图片,图像数据不会缓存。因此对于较大的图片以及使用情况较少时,那 就可以用该方法,降低内存消耗。

  • 2.imageName:加载的图片要么是Assets中的图片,要么是资源包中的图片,如果要用imageName:加载其他的图片,必须在文件名后面添加扩展名,如:
UIImage *image=[UIImage imageNamed:@"plus.png"];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值