时间:2021-05-20
Image.xcassets
图片直接加入工程中作为Resource
读取方式:创建图片 Resource 文件夹,直接将图片加入到工程中,使用如下方式读取图片
NSString *path = [NSBundle.mainBundle pathForResource:@"xxx" type:@"png"];UIImage *image = [UIImage imageWithContentsOfFile:path];特性:在 Resource 的图片管理方式中, 所有的图片创建都是通过读取文件数据得到的, 读取一次文件数据就会产生一次 NSData 以及产生一个 UIImage。 当图片创建好后销毁对应的 NSData,当 UIImage 的引用计数器变为 0 的时候自动销毁 UIImage,这样的话就可以保证图片不会长期地存在在内存中
使用场景:由于这种方法的特性, 所以 Resource 的方法一般用在图片数据很大, 图片一般不需要多次使用的情况,比如说引导页背景(图片全屏)
优势:图片不会长期保存在内存当中, 所以不会有很多的内存浪费。同时, 大图一般不会长期使用, 而且大图占用内存一般比小图多了好多倍, 所以在减少大图的内存占用中, Resource 做的非常好
使用Bundle文件
使用 imageWithContentsOfFile 读取
/// BSKDefine.h// bundle path#define STBundle_Name @"SafeToolResource.bundle"#define STBundle_Path [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:STBundle_Name]#define STBundle [NSBundle bundleWithPath:STBundle_Path]/// usage#import "BSKDefine.h"UIImageView * headerBgImgView = [[UIImageView alloc] init];headerBgImgView.image = [UIImage imageWithContentsOfFile:[SecKill_BUNDLE pathForResource:@"xxxx" ofType:@"png"]];对 UIImage 进行扩展,创建 UIImage+BSKResources 类
/// UIImage+BSKResources.hNS_ASSUME_NONNULL_BEGIN@interface UIImage (BSKResources)+ (UIImage *)bskImageNamed:(NSString *)imageName InBundleName:(NSString *)bundleName;@endNS_ASSUME_NONNULL_END/// UIImage+BSKResources.m#import "UIImage+BSKResources.h"@implementation UIImage (BSKResources)+ (UIImage *)bskImageNamed:(NSString *)imageName InBundleName:(NSString *)bundleName{ NSString *resourcePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:bundleName]; NSBundle *resourceBundle = [NSBundle bundleWithPath:resourcePath]; return [UIImage imageNamed:imageName inBundle:resourceBundle compatibleWithTraitCollection:nil];}@end/// usage#import "UIImage+BSKResources.h"UIImageView * headerBgImgView = [[UIImageView alloc] init];headerBgImgView.image = [UIImage bskImageNamed:@"xxx" InBundleName:@"BSKResources.bundle"]];Bundle 和 xcassets 区别
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
方式一:数据库用的是SQL2008,数据表中存放的是图片的二进制数据,现在把图片以一种图片格式(如.jpg)导出,然后存放于指定的文件夹中,实现方式如下:byt
本文为大家分享了iOS图片模糊效果的三种实现方式,供大家参考,具体内容如下1.实现效果依次如图:原图、iOS8效果、CoreImage效果、VImage效果-2
本文实例为大家分享了IOS图片轮播效果的实现过程,供大家参考,具体内容如下平时APP中的广告位或者滚动的新闻图片等用到的就是图片轮播这种效果,实现方式主要有两种
本文实例分享了iOS图片放大的方式,具体内容如下第一种方式:frame改变x值y值的方式放大图片,是从左上开始放大.frame改变控件宽高的方式放大图片,是从中
iOS应用内部实现AppStore评分功能,笔着整理总结有三种方式,各位可根据自己需求自己选择。先介绍下评分功能实现的三种方式。1,通用方式通过App内部打开网