首页 > 代码库 > 新浪微博ios客户端 开发流程

新浪微博ios客户端 开发流程

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:重写内部imageViewlabelframe使文字图片保持居中 位置合适

    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来展示微博。


未完待续。。。。。

新浪微博ios客户端 开发流程