iOS开发 - 第05篇 - 项目 - 06 - 首页

来源:互联网 发布:上传下载文件java代码 编辑:程序博客网 时间:2024/06/11 10:23

1、计算配图的frame


1> 在HWStatus中添加@property(nonatomic, strong) NSArray *pic_urls;

注:新浪返回pic_urls是一个字典数组,用字典可以为以后扩充更多属性,而不仅仅是一个图片url数组!!!




2> 由于是字典,因此最好提供一个HWPhoto模型,将字典转模型(暂时就一个属性)

/** 缩略图地址 */

@property(nonatomic, copy) NSString *thumbnail_pic;

 

注:希望将HWStatus中的NSArray *pic_urls中放HWPhoto模型,应该重写MJExtension中的objectClassInArray方法,则在字典转模型时会自动转!!!




3> 计算配图位置,暂时只用一张配图

1. 在HWStatusFrame的setStatus:方法中




2.在HWStatusCell的setStatusFrame:方法中




2、父子控制器(补充) --- 重要




在控制器切换一节中,为将一个控制器的View添加到另一个控制器的View中,为防止控制器释放,其对应的View还存在,出现危险情况,添加了一个强引用属性来引用对应控制器,防止控制器销毁,并在控制器切换时,仅仅只是移除原先的View,再添加其他控制器的View,这样做还是不严谨的。

应该将添加进来的控制器作为子控制器!!!




也即:当两个控制器的View互为父子关系时,那么这两个控制器也一定要为父子关系,这样可以避免很多不必要的麻烦,比如不需要再定义一个属性强引用子控制器,而且对于父控制器的一些事件有时也会自动传递到字控制器,如屏幕旋转,而如果仅仅是添加了一个控制器的View,则父控制器的事件不会自动传递到子控制器!!!


3、添加转发微博控件


1>在HWStatusCell中添加转发微博控件




2>在initWithStyle:方法中初始化装法微博控件




注:转发微博背景颜色

3> 在HWStatusFrame中添加相应控件的frame属性

4> HWStatus中添加转发微博属性

注:转发微博本身也是一条微博,仍然是HWStatus!!!

/** 被转发的原微博信息字段,当该微博为转发微博时返回 */

@property(nonatomic, strong) HWStatus *retweeted_status;


4、计算转发微博控件frame


1>在HWStatusFrame中添加转发微博控件frame




2>先在HWStatusCell的setStatusFrame:方法中写好被转发微博frame




3> 在HWStatusFrame的setStatus:方法中计算控件frame




5、添加cell工具条


基本步骤与前面一致,暂时添加一个红色UIView表示

1> 添加控件




2>计算frame




3> 在cell中设置frame


6、调整cell之间的间距




思路:增加cell高度,再将cell的背景色设置为clearColor,同时原创微博、转发微博、工具条均有背景色!

Cell:self.tableView.backgroundColor= HWColor(211, 211, 211);

原创微博:白色

转发微博:HWColor(247, 247,247);


7、调整最上面cell顶部间隙




方法一:设置tableView内边距

self.tableView.contentInset= UIEdgeInsetsMake(HWStatusCellMargin, 0, 0, 0);

注:对于有导航栏的情况,系统会默认加64,因此只需要再加一个间距即可,但是这样下拉刷新控件也会向下移!!!


方法二:让所有cell的y值都加上间距,重写cell的setFrame:方法!!!




方法三:在调整cell间距的时候是将每个cell的下面增加一个间距,改为向每个cell的上面增加一个间距即可,也可以达到同样的效果,而且只需要修改每个cell中原创微博整体Viewy值即可,而且tableView最下面由于有一个上拉刷新控件,没有间距也没有关系

CGFloatoriginalY = HWStatusCellMargin;即可


8、取消点击cell选中状态颜色




9、封装工具条


注:每个cell最下面的工具条都是独立的,不需要根据cell的内容来计算其frame,因此可以自定义一个工具条










10、工具条数字


1> HWStatus中添加三个属性

/** int   转发数*/

@property(nonatomic, assign) int reposts_count;

/** int   评论数*/

@property(nonatomic, assign) int comments_count;

/** int   表态数*/

@property(nonatomic, assign) int attitudes_count;

 

2>HWStatusToolbar添加HWStatus属性,重写setter方法,将工具栏中三个按钮的文字数值赋值




11、日期转换


注:由于在计算日期Labelframe以及设置日期Label的内容的时候都需要获取微博对象内的created_at属性,因此可以重写created_atgetter方法,进行日期转换!!!






0 0
原创粉丝点击