OC学习—微博案例

1.内容

2.设置模型
3.设置开始页面
改控制器为tableview controller:删除原来的view controller,拖拽tableview controller
设置为初始页面,删除其中的cells
OC学习—微博案例_第1张图片
这个tableview controller可以用原来的view controller文件(需要继承UI tableview Controller)。也可以删除原来的,新建控制器文件。
OC学习—微博案例_第2张图片
OC学习—微博案例_第3张图片
点击nain. storyboard,设置class为新建的控制器类CZTableviewController. 这时,self. view等于self. tableview
OC学习—微博案例_第4张图片
控制器中数据懒加载:

设置数据源(自动生成方法):
OC学习—微博案例_第5张图片
OC学习—微博案例_第6张图片
每个单元格不一样,需要自定义单元格:新建单元格模块,它继承UITableViewCell.
OC学习—微博案例_第7张图片
OC学习—微博案例_第8张图片
重写initStyle(因为每个单元格不一样),在自定义单元格cell类中重写:
OC学习—微博案例_第9张图片
OC学习—微博案例_第10张图片
OC学习—微博案例_第11张图片
设置模型属性,设置set方法
OC学习—微博案例_第12张图片
OC学习—微博案例_第13张图片
OC学习—微博案例_第14张图片
OC学习—微博案例_第15张图片
在init重写方法中,把属性保存设置好:
OC学习—微博案例_第16张图片
OC学习—微博案例_第17张图片
OC学习—微博案例_第18张图片
OC学习—微博案例_第19张图片
设置位置,计算fram
a. 内容
OC学习—微博案例_第20张图片
设置
OC学习—微博案例_第21张图片
用宏设置文字大小
OC学习—微博案例_第22张图片
使用
OC学习—微博案例_第23张图片

OC学习—微博案例_第24张图片
封装获取动态label的大小,并调用:
textSize调用封装函数
OC学习—微博案例_第25张图片
获取每行的高度,数据源代理方法中有返回行高度的方法,但是每行的高度是一样的。
OC学习—微博案例_第26张图片
上述方法是在获取单元格后,再调用行高度方法。需要在设置模型时候,设置行高度。
解决:重新写一个模型,保存控件的frame
OC学习—微博案例_第27张图片
OC学习—微博案例_第28张图片
OC学习—微博案例_第29张图片
OC学习—微博案例_第30张图片
返回行高时,每行高不一样,返回模型中的高。
OC学习—微博案例_第31张图片
设置set模型方法中,保存frame
OC学习—微博案例_第32张图片
补充:
week方式补充:
OC学习—微博案例_第33张图片
设置图片拉伸(不变形的拉伸):
OC学习—微博案例_第34张图片
设置图片内边距:
OC学习—微博案例_第35张图片

你可能感兴趣的:(笔记)