1. 首先 自定义AppDelegate
(1).if:第一次登录此版本 :新特性展示—> OAuth页面 获取accessToken —> 主界面
并且保存 账号信息 与access token ,by:单例模式。
else: if:如果未通过OAuth授权(即单例模式类中没有账户信息)就进入OAuth页面 —> 主界面
else: 直接进入主页面 并读取单例中的信息 获取数据。
(2):新特性 scrollview 使用滚动视图以及 分页(UIPageControl) 并添加图片 将其分页 并在最后一页添加 进入 微博 分享微博的按钮。
2. 定义主界面结构
1). 实现下方的选项操作条
定义dock类 (操作条整体是一个View)与 DockItem(每一个操作条目都是一个按钮) DockController (UiViewController)
DockItem:重写内部imageView与label的frame使文字图片保持居中
位置合适
Dock: 设置整个View的frame 与 背景图片,以及每一个Item的位置以及大小,随着Item数量变化而改变, 并且监听每个item, 设置代理方法 当点击某个item时,会“自动”调用代理方法
DockController:向控制器添加一个dock并设置frame, 并实现dockDelegate中当按钮代理方法。代理方法作用:实现 点击item 跳转当前View
MainController (主控制器 继承自 Dock控制器), 通过来自父类的dock 添加item
2).自定义导航栏 (ios7 状态栏默认为透明 不占高度,出现问题)
3).定义五个TableView类,每个view都被导航控制器包裹,添加到主控制器
------ 此时大体框架以及搭建完毕,可以切换到不同页面--------------
3.设计 更多(客户端设置) 模块。 自定义tableview
自定义tableView子类, 采用group模式的table
------ 开始主要功能编写---------------------------
4.设计home即微博部分 查看微博
1)设置初始ui界面
2)重写table方法numberOfRowsInSection每组有几行,cell数量 即获取的微博条数
cellForRowAtIndexPath 每行的cell 初始化--操作等 By:StatusCell
heightForRowAtIndexPath
每行cell的高度设置 通过微博具体内容 计算 by:statusCellFrame
3)获取微博数据
首先 封装 自己的工具类 ,HttpTool 通过自己封装好的类获取资源 而不是直接使用AFNetworking
这样可以降低藕合度,
status代表的是一条微博的各种属性, 自定义一个StatusTool 通过OAuth授权的accessToken来获取微博数据, 在控制器中调用tool中方法 获取微博数据 存入数组中 。 并通过自定义 的StatusCellFrame类(计算微博中个部分以及整体的frame )得到frame
存入相应数组中 用来设置cell高度
最后通过StatusCell来展示微博。
未完待续。。。。。