微博正文开发步骤总结
1.新建正文控制器,在点击首页的某一条微博时跳转过去
2.在MainController中设置导航控制器的代理,监听所有导航控制器的跳转
1> 如果即将显示的不是根控制器
* 将导航控制器view的高度拉长为屏幕的高度(不包括状态栏高度)
* 添加Dock到跟控制器(目的是在切换控制器时,Dock能随着根控制器一起移动。注意设置Dock的y值,当根控制器view是UIScrollView时,要加上contentOffset的y值。)
* 给即将显示的控制器添加左上角的返回按钮
2> 如果显示完毕的是根控制器
* 将导航控制器view的高度还原为默认高度(屏幕高度 - Dock高度)
* 将Dock添加到MainController的view上
3.Dock应该提供一个方法返回当前选中标签的索引
4.tableView处理步骤
#pragma mark 1.有多少组
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
* 返回2
#pragma mark 2.第section组头部控件有多高
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
* section == 0 返回0
* section == 1 返回标题栏的高度(44)
#pragma mark 3.第section组有多少行
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
* section == 0 返回1
* section == 1
* 如果当前是转发,返回转发的数量
* 如果当前是评论,返回评论的数量
#pragma mark 4.indexPath这行的cell有多高
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
* section == 0 返回微博cell的高度
* section == 1
* 如果当前是转发,返回转发cell的高度
* 如果当前是评论,返回评论cell的高度
#pragma mark 5.indexPath这行的cell长什么样子
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
* section == 0 返回微博cell
* section == 1
* 如果当前是转发,返回转发cell
* 如果当前是评论,返回评论cell
#pragma mark 6.第section组头部显示什么控件
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
* section == 0 返回nil
* section == 1 返回标题栏控件
5.抽取Cell和Frame的公共父类
6.创建tableView第1组的头部控件
7.展示被转发的微博