返回顶部
首页 > 资讯 > 服务器 >UITableView加载网络图片 cell适应图片高度
  • 910
分享到

UITableView加载网络图片 cell适应图片高度

iosobjective-ccell 2023-09-17 18:09:03 910人浏览 安东尼
摘要

UITableView加载网络图片 cell适应图片高度 一、自定义cell.xib上拖拽一个imageView二、在VC.m 中根据图片尺寸设置cell高度 ⚠️⚠️⚠️注意:加载图片失

UITableView加载网络图片 cell适应图片高度

一、自定义cell.xib上拖拽一个imageView

上下左右贴边约束,连线属性

cell.h@property (strong, nonatomic) IBOutlet UIImageView *imgView;

在这里插入图片描述

二、在VC.m 中根据图片尺寸设置cell高度

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {    return self.picAdrVOS.count;}- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{    // 先从缓存中查找图片    NSString *imgURL = self.picAdrVOS[indexPath.row].imgUrl;    UIImage *image = [[SDImageCache sharedImageCache] imageFromDiskCacheForKey:imgURL];        if (!image) {        return 0;    }    //手动计算cell    CGFloat imgHeight = image.size.height * kScreenWidth / image.size.width;    return imgHeight;}- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {    YBMImgTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"YBMImgTableViewCell" forIndexPath:indexPath];    [self configureCell:cell atIndexPath:indexPath];    ……    return cell;}//加载图片- (void)configureCell:(YBMImgTableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath {    YBMShopHomePicModel *model = self.picAdrVOS[indexPath.row];    UIImage *cachedImage = [[SDImageCache sharedImageCache] imageFromDiskCacheForKey:model.imgUrl];    if (!cachedImage ) {        [self downloadImage:model.imgUrl];    } else {        cell.imgView.image = cachedImage;    }}- (void)downloadImage:(NSString *)imageURL{    // 利用 SDWEBImage 框架提供的功能下载图片    [[SDWebImageDownloader sharedDownloader]downloadImageWithURL:[NSURL URLWithString:imageURL] options:SDWebImageDownloaderUseNSURLCache progress:^(NSInteger receivedSize, NSInteger expectedSize) {    } completed:^(UIImage *image, NSData *data, NSError *error, BOOL finished) {        [[SDImageCache sharedImageCache]storeImage:image forKey:imageURL toDisk:YES];        // ⚠️必须判断有图片才刷新,避免因加载失败而引起死循环!        if(image) {        dispatch_async(dispatch_get_main_queue(), ^{            [self.tableView reloadData];        });        }    }];}

这样就可以实现效果啦。

⚠️⚠️⚠️注意:加载图片失败时,必须判断有图片才刷新tableView,避免因图片加载失败而引起死循环!

来源地址:https://blog.csdn.net/biyuhuaping/article/details/123133223

--结束END--

本文标题: UITableView加载网络图片 cell适应图片高度

本文链接: https://lsjlt.com/news/411277.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • UITableView加载网络图片 cell适应图片高度
    UITableView加载网络图片 cell适应图片高度 一、自定义cell.xib上拖拽一个imageView二、在VC.m 中根据图片尺寸设置cell高度 ⚠️⚠️⚠️注意:加载图片失...
    99+
    2023-09-17
    ios objective-c cell
  • 使用Glide在Android应用中加载网络图片
    使用Glide在Android应用中加载网络图片 代码由于宽度比较小被换行了,看着很不整齐,其实很整齐,注释写得比较详细,比较多不容易阅读,可以...
    99+
    2022-06-06
    网络图 图片 glide Android
  • 怎么实现图片高度随宽度自适应
    本篇文章为大家展示了怎么实现图片高度随宽度自适应,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、可以使用js判断图片的宽度得到具体数值之后,再来利用js设置图片的高度(这里就不具体为大家细说了)。...
    99+
    2023-06-09
  • Flutter系统网络图片加载流程解析
    目录一、从构造函数开始二、图片下载入口2.1、ScrollAwareImageProvider2.2、ImageConfiguration2.3、ImageStream三、图片流和K...
    99+
    2024-04-02
  • JQuery加载图片自适应固定大小的DIV
    如何在固定大小的div中放置一个图片,当图片较小时显示实际大小,当图片超过div 大小时图片 自动适应div 的大小 jquery图片自适应大小实现过程的主要代码: 代码如下: 复制...
    99+
    2022-11-15
    加载图片 自适应大小
  • Android&在recycleview中使用xutils加载网络图片
    在recycleview中使用xutils加载网络图片,关于xutils 的使用可以在这篇博客去学习,先看看效果图 如果不需要则将带Refr...
    99+
    2022-06-06
    网络图 图片 xutils Android
  • Java中怎么批量下载网络图片
    这篇文章将为大家详细讲解有关Java中怎么批量下载网络图片,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。先来看下Json数据格式:为了方便操作,我封装了一个数据实体类package ...
    99+
    2023-06-17
  • 怎么在iOS中高效的加载图片
    这篇文章主要介绍怎么在iOS中高效的加载图片,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!图片的渲染流程在iOS中使用 UIImage和UIImageView来记载图片,他俩遵守经典的MVC架构,UIImage相当于...
    99+
    2023-06-25
  • WordPress去除img标签的高度与宽度让图片自适应屏幕
    要求 如,在桌面设备上,图片使用的是以下的HTML代码: 复制代码代码如下: <img src="abc.png" alt="abc" width="580" height="267" /> 在移动设备端,因...
    99+
    2022-06-12
    wordPress 高度与宽度 img标签
  • css如何让图片宽高适应不拉伸
    在css中设置图片宽高适应不拉伸的方法:1.首先,创建img标签,插入图片;2.通过position属性设置fixed样式固定图片;3.使用width和height属性设置图片宽高为100%即可;在css中设置图片宽高适应不拉伸的方法首先,...
    99+
    2024-04-02
  • PHP-FPM性能优化实例:提高网站图片加载速度的方法
    摘要:在当今的互联网时代,图片在网站中占据了重要的地位,而快速加载图片对于提升用户体验至关重要。本文将通过对PHP-FPM性能优化的实例,介绍一些提高网站图片加载速度的方法,并提供具体的代码示例。使用图片压缩技术图片压缩是一种常见的提高网站...
    99+
    2023-10-21
    图片加载 性能优化 php-fpm
  • 微信小程序如何实现swiper轮播图中的图片自适应高度
    这篇文章给大家分享的是有关微信小程序如何实现swiper轮播图中的图片自适应高度的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。小程序中的轮播图很简单,官方都有例子的,但是唯一的缺...
    99+
    2024-04-02
  • String项目中 加载网络img图片失败怎么解决
    这篇文章将为大家详细讲解有关String项目中 加载网络img图片失败怎么解决,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. 概述当从网络加载图片失败 希望显示默认图img 标签有个 o...
    99+
    2023-05-31
    string 目中
  • Android不压缩图片实现高清加载巨图实例
    目录一、概述二、初识BitmapRegionDecoder三、自定义显示大图控件四、测试参考链接一、概述 对于加载图片,大家都不陌生,一般为了尽可能避免OOM都会按照如下做法:对于图...
    99+
    2024-04-02
  • Android不压缩图片如何实现高清加载巨图
    本篇内容主要讲解“Android不压缩图片如何实现高清加载巨图”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android不压缩图片如何实现高清加载巨图”吧!一、概述对于加载图片,大家都不陌生,...
    99+
    2023-07-02
  • 网站加载cdn图片太慢怎么办
    网站加载cdn图片太慢的解决方法:使用缓存。将图片压缩存储于源站。加大cdn服务器宽带。使用jq延迟加载图片。$(function(){//一段正则,匹配所有_min.的图片src属性vartest =/_min\.///遍历所有...
    99+
    2024-04-02
  • Android 下载网络图片并显示到本地
    Android下载网络图片的流程是: 发送网络请求->将图片以流的形式下载下来->将流转换为Bitmap并赋给ImageView控件。 注意点 最新的Andro...
    99+
    2022-06-06
    网络图 图片 Android
  • 如何解决div不能自适应高度不能随图片的高度变化问题
    本篇内容主要讲解“如何解决div不能自适应高度不能随图片的高度变化问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决div不能自适应高度不能随图片的高度...
    99+
    2024-04-02
  • jQuery的图片延迟加载技术的应用
    这篇文章主要讲解了“jQuery的图片延迟加载技术的应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jQuery的图片延迟加载技术的应用”吧!本文使用David DeSandro写的一个页...
    99+
    2023-06-17
  • Kotlin实现网络图片下载和保存功能
    目录一、理论基础二、实验目的三、实验步骤1、新建工程文件2、引入布局管理3、创建布局4、访问权限5、实现逻辑四、实验演示五、实验总结一、理论基础 掌握Kotlin面向对象的软件开发方...
    99+
    2023-02-07
    Kotlin网络图片下载和保存 Kotlin图片下载 Kotlin保存图片
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作