2024年前端最全iOS开发进阶(十二):UIImage 载入图像,2024年最新一次哔哩哔哩面试经历

最后

喜欢的话别忘了关注、点赞哦~

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

前端校招面试题精编解析大全

//创建UIImageView对象,指定image对象为image
UIImageView \*imageView = [[UIImageView alloc] initWithImage:image];
//指定ImageView容器的位置及长宽
imageView.frame = CGRectMake(0, 0, image.size.width, image.size.height);
//指定图片以屏幕中心点放置
imageView.center = CGPointMake(self.view.frame.size.width\*0.5, self.view.frame.size.height\*0.5);
/\*

几种UIImage的内容模式:
UIViewContentModeScaleToFill, //自动适应长宽(图片会变形)
UIViewContentModeScaleAspectFit, //自动适应宽度(如果图片过大,会被缩放)
UIViewContentModeScaleAspectFill, //自动填充(如果图片过大,只会显示一部分)
UIViewContentModeRedraw, //图片重绘
UIViewContentModeCenter, //图片以中心点放置
UIViewContentModeTop, //图片以顶部放置
UIViewContentModeBottom, //图片以底部放置
UIViewContentModeLeft, //图片以左边中心点放置
UIViewContentModeRight, //图片以右边边中心点放置
UIViewContentModeTopLeft, //图片以左上角放置
UIViewContentModeTopRight, //图片以右上角放置
UIViewContentModeBottomLeft, //图片以左下角放置
UIViewContentModeBottomRight, //图片以右下角放置

*/
imageView.contentMode = UIViewContentModeScaleToFill;
[self.view addSubview:imageView];
}


### 二、通过 NSData 方式载入



NSString *filePath = [[NSBundle mainBundle] pathForResource:fileName ofType:extension];
NSData *image = [NSData dataWithContentsOfFile:filePath];
[UIImage imageWithData:image];


### 三、使用 imageWithContentsOfFile 函数载入


通过`NSBundle`对象的`mainBundle` 方法创建`NSBundle`对象后调用`pathForResource`方法获取图片路径。然后通过`UIimage`的`imageWithContentsOfFile`类方法创建图片对象。



NSString *path = [[NSBundle mainBundle] pathForResource:@”shq5785” ofType:@”png”];
myImage = [UIImage imageWithContentsOfFile:path];


注意⚠️:


* 应用 `imageNamed` 函数方式载入时。系统会把图像`Cache`到内存。假设图像比較大。或者图像比較多。用这样的方式会消耗非常大的内存。可是利用`imageNamed`载入图像也有自己的优势。对于同一个图像系统仅仅会把它`Cache`到内存一次,这对于图像的反复利用是非常有优势的。
* 利用`NSData`或`imageWithContentsOfFile`方式载入时。仅载入图片,图像数据不会缓存。因此对于较大的图片以及使用情况较少时,那就能够用该方法,减少内存消耗。
* 通过`imageNamed`类方法加载的图片,通常放置在`Assets.xcassets`中且也能加载ipa包路径下的图片资源。


通过`imageWithContentsOfFile`类方法加载的图片,只能获取ipa包路径下的图片资源。


### 四、拓展阅读


* 《[iOS开发进阶(十一):ViewController 控制器详解](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)》

## ❤️ 谢谢支持

喜欢的话别忘了 关注、点赞哦~。

**[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)**

> ![前端校招面试题精编解析大全](https://img-blog.csdnimg.cn/img_convert/ad46c4365926ed455bf2506ffe9cc7e8.webp?x-oss-process=image/format,png)
> 









5a486d4c3ab8389e65ecb71ac0)**

> [外链图片转存中...(img-zE5lNqgj-1715496120176)]
> 









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值