关于此分支
此分支从三个20主要存储库中包含了一些主要更改。
- 所有子项目都被整合到一个简单的项目中
- 使用 CocoaPods(https://github.com/CocoaPods/CocoaPods)简化安装
- 将 XML & JSON 扩展合并回
TTNetwork
- 将 SBSON 链接为子模块
- 删除了
TTExtensionLoader
模块 - 删除了
TTViewController
(所有视图控制器都实现自 UIViewController) - 删除了 YAJL JSON 支持
- 删除了旧的 Xcode 模板
- Appledoc 文档
- 删除了
TTSplitViewController
- 删除了
TTNaviagtor
& url 映射
Three20
Three20 是一个包含 iPhone UI 类(如图片查看器)和通用工具(如 HTTP 磁盘缓存)的集合。Three20 是从 Facebook 的 iPhone 应用程序派生而来的,这是有史以来下载量最大的 iPhone 应用之一。
文档
您可以通过几种方式访问 Three20 API 文档:
- 在线:http://aporat.github.com/three20lite/api
- 在 Xcode 中
- 打开您的 Xcode 首选项(⌘,)并切换到“文档”选项卡。
- 点击加号按钮
- 添加 Three20 文档集馈送:feed://aporat.github.com/three20lite/api/com.facebook.Three20.atom
- 使用
src/scripts/docs.py
脚本从项目存储库生成文档
Three20概述
照片查看器
TTPhotoViewController
模拟了苹果照片应用的所有增删和缩放操作,您可以为它提供属于自己的“照片源”,这与UITableView使用的数据源相类似。与苹果的照片应用不同,它不限于存储在本地的照片。您的照片可以来自网络,并且可以分批加载出长列表的照片。
网络图像视图
TTImageView
使显示图像变得和HTML一样简单。只需提供图像的URL,TTImageView
就会将其加载并高效地显示。此外,TTImageView
还与下文描述的HTTP缓存工作,以防止在网络不可用时访问网络。
关注网络的表格视图控制器
TTTableViewController
和 TTTableViewDataSource
帮助您构建从网络加载数据的表格。与默认使用所有数据已准备好的 UITableView
不同,TTTableViewController
允许您在数据加载、出错或无数据显示时进行通信。它还帮助您添加“更多”按钮来加载下一页数据,并可选择通过摇晃设备来重新加载数据。
更好的文本输入框
TTTextEditor
是一个可以自动根据输入内容增长高度的 UITextView
。我用这个在Facebook聊天中输入消息,它的工作方式与苹果短信应用中的编辑器类似。
TTPickerTextField
是一种预测性输入的 UITextField。当你输入时,它会搜索数据源,并在你选择预测性选项时在文本流中添加气泡。我在 TTMessageController 中使用这个来选择消息接收者的姓名。
HTTP 磁盘缓存
TTURLRequest
是 NSURLRequest 的替代品,它支持磁盘缓存(NSURLRequest 仅能在 RAM 中缓存)。它还有其他一些不错的功能。使用字典参数来进行 HTTP POST 真的很简单。TTURL 加载系统也可以在任何时候暂停和恢复,这是一个很棒的性能助手。网络线程经常与 UI 线程发生冲突,因此当你.app 瞬间对图形处理密集时,你可以随时暂停网络请求。