iOS固定图片高度,宽度自适应缩放

本文介绍了一种在APP中处理后台未提供图片宽高时,实现图片自适应显示的方法。通过在图片下载完成后计算其宽高比例,并在tableview或collection的cell中使用缓存的尺寸信息,避免重复计算,提高性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当后台返回一张图片,但没有返回图片宽高尺寸时,需要我们 APP 来处理自适应显示。
1.首页我们可以在图片下载完的回调里,计算宽高,然后自己计算比例进行缩放。
2.如果是图片是显示在 tableview 或 collection 的 cell 里,需要把这个计算的宽高缓存起来,不能在滑动时重复计算这些。
//获取图片尺寸时先检查是否有缓存(有就不用再获取了)
if (![[NSUserDefaults standardUserDefaults] objectForKey:[dict pc_stringForKey:@“cornerPic”]]) {
self.statusBtn.compelteBlock = ^(UIImage image, NSString url){
CGFloat imageWidth = CGImageGetWidth(image.CGImage);
CGFloat imageHeight = CGImageGetHeight(image.CGImage);
if (imageWidth != 0 && imageHeight != 0) {
[[NSUserDefaults standardUserDefaults] setObject:@((16
imageWidth)/imageHeight) forKey:[dict pc_stringForKey:@“cornerPic”]];
self.statusBtnW.constant = (16
imageWidth)/imageHeight;
}
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值