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;
}
/-------代码截图-------/