iOS开发之商品评价列表的构建

首先看一下效果

 

效果图.gif

Demo中使用了几个三方

 

image.png

 

image.png

注: 查看大图片的这个工具有点坑,不知道是我不会使用还是原本就有bug,坑在下面的这个地方,如果不修改的话,会导致下拉刷新的操作被屏蔽,因为offset距离顶部为0了,刚好被屏蔽了。

 

image.png

言归正传说Demo

cell主要由三部分组成:
第一部分是用户基本信息和文字评论区域,第二部分是图片显示部分,独立出去的一个XBWCSMyOrderEvaluationImageView,这样方便操控view的显示,如果需要33矩阵布局或者其他42矩形布局的,也方便布局。唯一注意的是imageview的复用,防止图片混乱,造成最终查看大图造成崩溃。第三部分是商家回复区域,也是独立出去的XBWCSMyOrderEvaluationReplyView。

image.png


布局说完了,说高度的问题。
像这种的文字较多,不确定高度的cell,就需要用到缓存高度的思想,一方面是为了布局的正确性,另一方面是为了优化cell的流畅度。我们知道在tableview的滑动过程中,会不断的调用

 

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;

这个方法,如果将cell的高度计算放在这里,将会造成不可限量的消耗,可能数据量小的时候看不出来,但是量多了,就可怕了。
大多数的高度缓存思想,无非就是拿到数据即拿到高度,数据是死的,高度也就是死的,只是看怎么去处理这个高度。

 

image.png

在获取到数据的时候,剥离出去一个方法,用于计算cell的高度。同时在创建数据model的时候,多添加一个cellHeight属性,将计算好的高度再次赋值给cellHeight这个属性。

 

image.png

 

这样我们就将需要的高度缓存起来了,在后面需要的时候,取出cellHeight就可以了。

 

image.png

计算文字高度,其实很简单就是计算富文本size

 

image.png

额外补充下查看大图的方法

 

image.png

传送门



作者:重驹
链接:https://www.jianshu.com/p/13b6f9c5ab9c
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值