标签:
1.1 进入首页自动刷新
1.2 显示最新微博数量
注:弹出的UILabel应该添加到导航控制器的View上,而不应该添加到tableView上,否则会更随tableView一起滚动!!!
在发送请求成功后,调用下面方法(注意动画):
1> 自定义HWLoadMoreFooter(XIB)
1. UILabel利用autoLayout填充View
2.添加转圈控件,勾选动画
2>提供类方法加载XIB控件
3> 添加到tableView的tableFooterView上
注:为防止一开始进入来不及显示tableView数据,需要先将tableFooterView隐藏,否则会直接显示!!!
4> 代理监听scrollView滚动,等待滚动到最后的时候显示tableFooterView然后再自动刷新
注:scrollView属性详解 ---重要
注:contentSize才是滚动区域,需要等待最后一个Cell完全显示的时候,才去显示footerView!!!
采用定时器每隔60s获取微博未读数。
注1:设置self.tabBarItem.badgeValue
注2:下拉刷新成功后,清空self.tabBarItem.badgeValue
注3:NSTimer定时器,若主线程正在处理其他事件,如一直在滚动,则定时器是不会启动的,应告诉主线程,分一点时间给定时器,即修改mainRunLoop中定时器的模式
注4:拿到未读数后也应该在APP图标上设置相应数字
注5:上述方法完成后,还有一个问题,一旦APP进入后台,则定时器无法工作,也就无法获取微博未读数,显示在APP图标上,需要再程序进入后台的时候,开启后台任务
注6:下面开启后台任务的时间仍然是不确定的,还要取决于操作系统CPU、内存等的占有率,也有可能会被系统杀死。
注7:若要获取更多的时间,最好告诉操作系统APP进入后台需要有后台任务,在Info.plst中设置后台模式:Required background modes ==App plays audio or streams audio/video using AirPlay,但是这样仍然是不确定到底能在后台运行多久
在上一篇5.2节自定义HWTitleButton中,文字和图片连在一起
注:每个cell的高度不一样,每个cell里面显示的内容也不一样
1> 新建一个继承自UITableViewCell的子类
2> 在initWithStyle:方法中进行子控件的初始化
1. 将有可能显示的所有子控件都添加到contentView中
2. 顺便设置子控件的一些属性(一次性的设置:字体、文字颜色、背景)
3> 提供2个模型
1. 一个是数据模型(文字数据 + 图片数据)
2. 一个是frame模型(数据模型 + 所有子控件的frame+ cell的高度)
4> cell应该提供一个frame模型属性
1. 将frame模型传递给cell
2. cell根据frame模型给子控件设置frame,根据数据模型给子控件设置数据
3. cell根据数据模型决定显示和隐藏哪些子控件
5> 在tableView的代理方法返回cell的高度
7.1 自定义HWStatusCell,初始化控件
注:在cell中应该根据HWStatusFrame模型(既包含HWStatus模型、又包含每个控件的frame)来配置cell!!!
注:UILabel中的字体应和后面计算frame时候的字体保持一致!!!
7.3 设置cell的数据和每个控件frame
HWStatusCell 添加-(void)setStatusFrame:(HWStatusFrame *)statusFrame
7.4 计算cell中控件的frame
HWStatusFrame添加-(void)setStatus:(HWStatus *)status
注:为达到写一个控件frame出现一个frame的效果,供测试,可以先写好外面代码(tableView的代理方法)
注:正文frame的计算!!!
7.5 修改HWHomeViewController中代码
1> 将原先的HWStatus数组改成HWStatusFrame数组
2>将新浪返回的HWStatus数组改成HWStatusFrame数组
3> 在需要修改HWStatusFrame的地方进行相应修改
4> 添加tableView:heightForRowAtIndexPath:代理方法
7.5 HWUser和HWStatus添加需要的属性
注 :重写setMbtype方法判断是否是会员
标签:
原文地址:http://blog.csdn.net/nsryan/article/details/52142044