关于微博的正文的整个思维逻辑 (含有只有图片数量计算图片九宫格算法)

1.界面使用MVC架构

    1.1.>分为 控制器 / 模型 / 视图 三层

2.视图几个view板块

  2.1>整个微博分为两个板块-> 自己发的微博 - > 转发的微博;

       2.1.1 > 自己发的微博分为两块 - > 头像/姓名/皇冠/时间/来源 - >正文/配图

                     2.1.1.1.> 正文/配图 ->  分为 正文 / 配图 两个板块

                                              需要判断是否有配图,有则显示,没有则不显示。

                     2.1.1.1.1>配图里面再添加一个图像板块,需要判断图片为几个,根据图片的数量计算自己的大小。这里提供一个计算图片大小等方  式,根据行 和 列来计算。


    2.1.2.>转发微博分为两块 -> 正文 -> 配图。(需要判断有没有配图,有则显示配图板块,可以重用)

3.模型 层的划分

  3.1> 模型 -> 显示内容模型 -> 视图内部控件frame模型 (包含内容模型属性)    
         3.1.1> frame 模型 具有内容模型属性,重写内容set方法,设置控件位置

         3.1.2> 由于视图分为几个板块,所以在计算位置时需要分开计算

         3.1.3 > 计算图片位置时,需要首先得到图片数量,根据数量计算图片大小

4.图片位置计算逻辑

  4.1 > 计算九宫格,确定有多少个图片

  4.2 > 确定一行放几张图片 

  4.3 > 确认有几行 ,几列

         4.3.1    给出图片宽高度  70        每张图片的间距 10   一行放3个   一共有count张图片

         4.3.2    列 =  NSUInteger  列 = (count >= 3) ? 3 : count;

         4.3.3    行 = NSUInteger  行   =  (count + 3 – 1)  /  3;

  4.4 >  整个图片view的计算

         4.4.1    整个图片view的宽度等于  (70 *列 )+ ((列 - 1)* 10)

         4.4.2    整个图片view的高度等于   (70 *行)+ ((行 - 1)* 10)

5.关于行的计算

1.固定格式:

行 = NSUInteger  行   =  (count + 3 – 1)  /  3;

2.精简前

          将列的个数设为3,图片个数count

            NSUInteger row = 0;
     //计算有几列  可以用排除
     if (count / 3 == 1) {      //如果 = 1 只有3.6.9
        row = count / 3;       //count 等于几 就有几行
    }else{                          // 如果不等于1  那么只有 1.2.4.5.7.8
        row = (count / 3) + 1 ;
    }

3.精简前

//行 精简
    NSUInteger row = count /3 ;
    if (count / 3 != 0) {
        row += 1;
    }

/-------代码截图-------/

《关于微博的正文的整个思维逻辑 (含有只有图片数量计算图片九宫格算法)》

《关于微博的正文的整个思维逻辑 (含有只有图片数量计算图片九宫格算法)》

《关于微博的正文的整个思维逻辑 (含有只有图片数量计算图片九宫格算法)》

          

     

    原文作者:九宫图算法
    原文地址: https://blog.csdn.net/user_begin/article/details/49236121
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞