zoukankan      html  css  js  c++  java
  • 关于ios的瀑布流类似cell的重用

    先贴个聊天出来,算是个开头吧,回头看看有时间写出来

    Stefan 16:17:23
    瀑布流网上很多,但是好像都没有每个cell的删除操作
    Stefan 16:19:35
    能指点下嘛
    从一开始 16:19:45
    关于这个我因为是一个POC,所以没有做,大体的思路其实是这样的: 如果瀑布流分成三列的话,利用三个数组保存各自一列的cell,依靠此数组计算出当前队列最前端(0)的y的数值 / 最后端的数值,在viewDidScroll时候,通过判断contentOffset,判断是否将当前的某几个cell加入或者移除,放入dequeue队列
    Stefan 16:20:10
    我做的是3列的效果
    从一开始 16:20:22
    基本的话,每个单列有点像是特异化table重用效果
    从一开始 16:22:07
    当然只是一个思路,这样做的话可能在model上也会变成存在三组数据,实现和三列cell的对应,这样应该会好点,我只实践过table类的,瀑布流的具体没有涉及
    从一开始 16:22:15
    希望对你有帮助
    Stefan 16:22:59
    嗯,这个比较纠结
    从一开始 16:24:16
    如果实现的是model分成三组数据的话,应该是把这个看成是瀑布流 = 三个table的集合体,这样变换问题应该是可以的
    Stefan 16:24:17
    主要是我没有什么思路
    从一开始 16:24:42
    先从table的重用开始看
    从一开始 16:24:55
    3个table=一个瀑布流
    Stefan 16:25:22
    要不我把东西发给你,你看看
    从一开始 16:25:32
    但是你应该先把网上的一些瀑布流的基本东西理解清楚,这个最重要
    从一开始 16:26:30
    - - 只能是谈谈思路,具体没时间饿
    Stefan 16:26:44
    额额,好吧
    从一开始 16:27:06
    关于queue的话。。 你使用github吗?
    Stefan 16:27:30
    嗯,用
    从一开始 16:27:33
    去搜索一个关于bookshelf的,那个有个类似table的重用,可以参考一下
    Stefan 16:27:58
    好的,谢谢你了

    思考:

    首先考虑只可以使用重用吗? 未必,最简单的方法其实时在每一个cell超出contentOffset的时候,将图片卸载掉,进入时重新加载。

    想要实现更精细? 那么此时才会涉及重用

    1.首先有个问题必须要考虑清楚,具体是为什么实现瀑布流呢?

    这里我做了如下的假定:

      (1 为了实现独特的输出效果

      (2 为了满足真正的需求

    2.应用的具体情景是什么?

      (1 网络加载

      (2 本地(pass)

    3.首先面临的问题是什么?

      (用Cell指代图片View)

      (1 图片的大小有什么影响

        图片之间差异是不是很大(满足真正需求情况下)/是为了显示独特(独特输出效果)

        影响基本一致

       (2 用什么样子的结构实现relayout,这里我做了变换 :

          一个瀑布流 (3列) = table显示效果 * 3

         所以结构如下

         waterflow container  分管协调,具体职责为回收TC(tableSytle container)中超出显示范围的cell, 记录当前的waterflow显示的model的范围,决定向TC分派新添加的cell并分派到TC中。回收/重用队列

         tableStyle container 判断哪些是超出显示范围的cell, 确定包含的model的index范围

         waterflow cell 包含对应model的index/显示功能

    好啦,基本的就是这些,剩下的就是开写具体代码了。回头传到gitHub上去.

  • 相关阅读:
    课堂讨论电子版
    轻量级推送及在此基础上的即时通讯探索(1)
    第十章 Android的消息机制
    第十一章 Android的线程和线程池
    第八章 理解Window和WindowMannager
    第四章 View的工作原理
    第三章 View的事件体系
    第二章 IPC
    Android独立音量播放器
    SpringMVC笔记
  • 原文地址:https://www.cnblogs.com/junwang/p/2737399.html
Copyright © 2011-2022 走看看