在iOS中图片加载的方式有好几种。网络图片的加载有好多三方库可以使用,自己也可以简单的实现一下
这里说一下本地图片的加载,本地图片加载可以使用
1、UIImage *imag1 = [UIImage imageNamed:@"image.png"];
2、UIImage *image2 = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"image.png" ofType:nil]];
或者
NSData *imageData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"image.png" ofType:nil]];
UIImage *image3 = [UIImage imageWithData:imageData];
总体来讲第一种方式加载到内存里,就是说,一直在占用内存,第二种以数据形式加载,不会一直加载在内存里
还有一种使用web加载图片的形式,步骤是
1. image生成html函数:
- (NSString *)htmlForJPGImage:(UIImage *)image{ NSData *imageData = UIImageJPEGRepresentation(image,1.f); NSString *imageSource = [NSString stringWithFormat:@"data:image/jpg;base64,%@",[imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]]; return [NSString stringWithFormat:@"<div align=center><img src='%@' /></div>", imageSource];}
2. 生成html代码:NSString *content = [NSString stringWithFormat:@"<html><body>%@</body></html>", contentImg];
3. web view加载html代码:loadHTMLString
iOS8及其以上使用WKWebView~
- 1