github: https://github.com/hellovoidworld/HVWWeibo A.cell的frame模型设计 1.需求 每个cell都有一个frame实例引用 frame模型用来存储数据模型.设置子控件位置尺寸   2.思路 frame模型同时包含了数据模型和子控件的frame实例引用 跟view设计一样,也是采用分层设计 每个view都有一个自己的frame模型   view层次:   每个view对应一个frame:   3.实现 (1)view   // // H…
github: https://github.com/hellovoidworld/HVWWeibo A.自定义微博cell基本结构 1.需求 创建自定义cell的雏形 cell包含:内容.工具条 内容包含:原创内容.转发内容     2.思路 使用分层控件,逐层实现 分离model和view model:数据模型.frame模型 view:就是控件本身 frame模型:包含数据模型和子控件frame 根据数据模型来决定子控件是否显示(例如转发内容)   cell的view设计雏形:   控件的…
github: https://github.com/hellovoidworld/HVWWeibo   A.下拉刷新微博 1.需求 在“首页”界面,下拉到一定距离的时候刷新微博数据 刷新数据的时候使用控件提示 新数据要加在旧数据的前面 刷新完毕隐藏刷新控件 刷新数据完毕,导航栏下方弹出一个提示框,提示刷新微博数量   2.思路 直接使用系统自带的UIRefreshControl就可以做出动画效果 使用微博的获取微博API参数since_id可以控制加载的微博从哪个id开始 使用可变数组来拼接新…
github: https://github.com/hellovoidworld/HVWWeibo A.每条微博的底部工具条 1.需求 每条微博底部都有一个工具条 显示3个按钮:评论.转发.赞 按钮间用分割线隔开 有评论数.转发数.赞数的时候显示相应数据,没有则显示文本     2.思路 (略)   3.实现   (1)微博数据模型中已经带有了相应数据字段 // HVWStatus.h /** int 转发数 */ @property(nonatomic, assign) int repost…
github: https://github.com/hellovoidworld/HVWWeibo   A.封装微博业务 1.需求 把微博相关业务(读取.写微博) 界面控制器不需要知道微博操作细节(例如选择从网络读取还是缓存读取)   2.实现 把微博操作封装成一个工具类 把微博网络请求的参数和返回结果也封装成一个类       3.实现 (1)基础参数类 由于多数请求都需要access_token,所以封装一个参数父类 // // HVWBaseParam.h // HVWWeibo //…
github: https://github.com/hellovoidworld/HVWWeibo A.会员标识 1.需求 给vip会员打上会员标识 不同等级的vip会员使用不同的标识 使用橙色作为昵称颜色     2.思路 返回的user数据中有两个字段 mbrank:int 会员等级 mbtype:int 会员类型,大于2才是会员   3.实现 依照之前的做法,在微博内容界面加上一个ImageView作为vip标识 创建相应的frame   (1)在user模型加上vip相关字段 // /…
github: https://github.com/hellovoidworld/HVWWeibo A.设置每条微博边框样式 1.需求 不需要分割线 每个微博之间留有一定的间隙   2.思路 直接设置分割线样式为none就可以去除分割线 设置tableView的背景色 让每个cell的y值下移10个单位,做出间隙效果 使用资源包内的背景图片类填充cell背景   3.实现 (1)去除默认分割线 // HVWHomeViewController.m - (void)viewDidLoad { […
github: https://github.com/hellovoidworld/HVWWeibo   A.发微博界面:自定义UITextView 1.需求 用UITextView做一个编写微博的输入框 没有输入任何文本的时候显示占位文本 统一占位文本和正文的字体   2.思路 系统自带的输入控件有UITextField和UITextView两种 UITextField:自带占位文本属性,不能换行 UITextView:没有占位文本属性,能换行 这里我们选择UITextView进行改造 根据是…
github: https://github.com/hellovoidworld/HVWWeibo   A.新浪获取微博API 1.读取微博API     2.“statuses/home_timeline”接口       B.在app中获取微博数据 1.在“首页”控制器发送请求,获取json数据 /** 加载微博数据 */ - (void) loadWeiboData { // 创建AFNetworking的http操作中管理器 AFHTTPRequestOperationManager…
A.版本新特性 1.需求 第一次使用新版本的时候,不直接进入app,而是展示新特性界面 github: https://github.com/hellovoidworld/HVWWeibo       2.思路 [[NSBundle mainBundle] infoDictionary]取得当前版本号(最新版本),版本号存储在了info.plist中 从preference取得上一次使用的版本号 将讲个版本号进行对比,如果相同就是当前是最新版本,直接进入app:如果不相同,就进入新特性界面并保存…