美文网首页iOS开发iOS DeveloperiOS程序猿
iOS开发之商品评价列表的构建

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

作者: 重驹 | 来源:发表于2018-08-24 23:24 被阅读14次

    首先看一下效果


    效果图.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

    传送门

    相关文章

      网友评论

      本文标题:iOS开发之商品评价列表的构建

      本文链接:https://www.haomeiwen.com/subject/neasbftx.html