UIImage 是一种比较有难度的显示图片的方式,UIImage 可以从文件或者 ImageData
中来显示图片。 如果可以图形化操作,建议使用 ImageView 这个 Control
来显示图片,毕竟是图形化可视操作。
当从 ImageData 中创建图片的时候,一定要注意图片的大小和尺寸,因为这样是存在内存中,如果图片过大或者图片过多,很容易引起内存泄漏;如果是从
文件 中选择图片,则可以手工选择图片是否缓存在内存中。
UIImage 支持的图片类型有:tiff,tif,jpg,jpeg,gif,png,bmp,bmpf,ico,cur,xbm.
UIImage 常用来从文件中加载图片的方法有以下种:
1. + (UIImage *) imageNamed:(NSString *)name
特点:最方便,最快捷的加载图片方式。但是,利用该方式加载图片,在第一次加载之后,图片会cache
在内存中,所以有一定的风险造成内存泄漏,一定不要加载过大或一次性夹在过多的图片,并在使用后立即进行内存释放;
参数 name ,为文件名,如果 图片存放在 项目路径中 的子物理文件夹内,也只需指定文件名即可,系统会自动找到子目录下的这个图片.
2. + imageWithContentsOfFile: or -
(id)initWithContentsOfFile:(NSString *)path
特点:使用起来代码较多,但是不会将图片 cache 在内存中,但是需要提供图片的具体路径和图片名
示例代码,设置当前 ViewController(UIViewController) 的背景图片:
//设置当前 ViewController(UIViewController) 背景图片//第一种方法
UIImage *bgImage = [UIImage imageNamed:@"bg.png"];
self.view.backgroundColor = [UIColor colorWithPatternImage:bgImage];//第二种方法
NSString *path = [[NSBundle mainBundle] pathForResource:@"bg.png" ofType:nil inDirectory:@""];
UIImage *bgImage2 = [[UIImage alloc]initWithContentsOfFile:path];
self.view.backgroundColor = [UIColor colorWithPatternImage:bgImage2];
转自:http://www.cnblogs.com/xunziji/archive/2012/09/25/2701928.html
不太明白作者怎么那么痛恨转载,反正我是转了,留着以后好查阅。
iOS UIImage(转载),布布扣,bubuko.com