Three20 1.0.11

Three20 1.0.11

测试已测试
语言语言 Objective-CObjective C
许可证 未提供声明
发布时间最后发布时间2020年8月

Adar Porat 维护。



Three20 1.0.11

  • Alessandro Zummo, Alexander Saltanov, Adar Porat, aporat, Amit Snyderman, andy.porat, Benedikt Meurer, beng, Blake Watters, Brandon Walkin, Brian Chapados, clozach, crino, David J. Hu, uprise78, Justin DeWind, Dima Berastau, Holtwick, Chih-Wei Lee, Dan Morrow, Doug Barth, drewmca, Emil Palm, Eelco Lempsink, Eric Wolfe, Eric Chamberlain, Drync Wine, Greg Haines, Hwee-Boon Yar, Cemal Eker, Jeroen Houtzager, Jarno Antikainen, Jason Cabot, Jean Regisser, Joe Hewitt, Jeff Verkoeyen, John Wang, Matt Crocker, Matt Newberry, Brian Donovan, Peter Steinberger, Mike Morearty, NanoTech, Joachim Bengtsson, Oleguer Huguet, Owen Yamauchi, Paulo Oliveira, Pavel Bocharov, Petr Reichl, PEZ, Pavel Repin, alexleutgoeb, Phillip Verheyden, Rafael Alba, Rodrigo Mazzilli, Roger Chapman, Rusty Zarse, Savanah Cummings, Shaheen Gandhi, Skotch Vail, Stephan Diederich, Sumeru Chatterjee, Thomas Weisbach, Tobias Klonk, Tobias Rundström, Tony Lewis, vguerci, wbailey 和 Wiley Kestner

Three20

Three20 是一个包含 iPhone UI 类(如相册查看器)和通用工具(如 HTTP 磁盘缓存)的集合。Three20 由 Facebook iPhone 应用 演化而来,该应用曾是最受欢迎的 iPhone 应用之一。

社区

如果您想就 Three20 提出任何问题,请查看以下任何内容:

文档

您可以通过以下几种方式访问 Three20 API 文档:

  1. 在线:[http://facebook.github.com/three20/api](http://facebook.github.com/three20/api)
  2. 在 Xcode 中
    1. 打开您的 Xcode 首选项(⌘,)并切换到文档选项卡。
    2. 单击加号按钮
    3. 添加 Three20 文档集订阅源:feed://facebook.github.com/three20/api/com.facebook.Three20.atom
  3. 使用 src/scripts/docs.py 脚本从项目仓库生成文档

将 Three20 添加到您的项目中

Three20 作为静态库编译。它使用 Xcode 的“依赖项目”功能。有两种方法将 Three20 添加到您的项目中。

第一种是使用 TTModule Python 脚本

第二种选项是手动将其添加到项目中。下面是如何操作:
预计时间:5 分钟。

  1. 克隆 three20 git 仓库:git clone git://github.com/facebook/three20.git。请确保将仓库存储在一个永久位置,因为 Xcode 在每次编译项目时都需要引用这些文件。

  2. 在 "three20/src/Three20/" 下找到 "Three20.xcodeproj" 文件。将 Three20.xcodeproj 拖动到 Xcode 项目“组和文件”侧边栏的根目录。将出现一个对话框 - 确保在单击“添加”之前取消选择“复制项”并且“引用类型”为“项目相对”。

  3. 打开您刚添加到应用程序中的 Three20 Xcode 项目,展开“依赖”组。选择列表中的所有项目,并将它们拖动到您的应用程序中。现在您应该在应用程序中添加以下列表的 Three20 项目

    • Three20Core
    • Three20Network
    • Three20Style
    • Three20UICommon
    • Three20UINavigator
    • Three20UI
    • Three20
  4. 现在您需要将 Three20 静态库链接到您的项目中。选择刚才添加到侧边栏的所有项目项。在“详细信息”表中,您会看到许多项目,例如 libThree20.a 和 libThree20Core.a。为每个 lib 文件(非单元测试)勾选最右侧的复选框。这将将 Three20 框架的每个部分链接到您的应用程序。

  5. 现在您需要将 Three20 添加为项目的依赖项,这样 Xcode 就能在您编译项目时进行编译。展开侧边栏中的“目标”部分,双击您应用程序的目标。在“常规”选项卡下,您将看到“直接依赖项”部分。单击加号按钮,选择“Three20”和每个其他库,然后单击“添加目标”。您不需要为每个库添加 UnitTests 目标。

  6. 现在您需要将图像和字符串的包添加到您的应用程序中。在 "three20/src" 下找到 "Three20.bundle",并将其拖动到您的项目中。将出现一个对话框 - 在单击“添加”之前,确保已选中“创建文件夹引用”,“不复制项”和“引用类型”为“项目相对”。

  7. 现在您需要将 Core Animation 框架添加到您的项目中。在项目(或等效)中的“框架”组上右键单击,然后选择“添加”>“现有框架”。然后定位到 QuartzCore.framework 并将其添加到项目中。

  8. 最后,我们需要告诉您的项目Three20头文件的存放位置。打开您的“项目设置”,然后进入“构建”标签。查找“头文件搜索路径”,双击该选项。添加从您的项目目录到“three20/Build/Products/three20”目录的相对路径。

  9. 当您在项目设置中时,前往“链接器”部分的“其他链接器标志”,并将“-ObjC”和“-all_load”添加到标志列表中。

  10. 您已准备好开始了。只需在任何您要在项目中使用Three20类的地方添加#import "Three20/Three20.h"即可。

Three20概述

图片查看器

TTPhotoViewController模拟了Apple的Photos应用,并具有所有滑动和捏合的享受功能。您可以为它们提供自己的“照片来源”,这与UITableView使用的数据源类似。与Apple的Photos应用不同,它不仅限于存储在本地的照片。您可以从网络加载照片,并且可以递增地加载长列表的照片。

消息编辑器

TTMessageController模拟了Apple的Mail应用的邮件编辑器。您可以根据需要对其进行自定义以发送任何种类的消息。包含您自己的消息字段集,或者使用标准的“收件人:”和“主题:”。收件人姓名可以从您提供的数据源自动完成。

网络图片视图

TTImageView使得显示图像的难度与HTML中的难度相当。只需提供图像的URL,TTImageView就会加载并高效显示该图像。TTImageView还可以与下文所述的HTTP缓存一起工作,以尽可能避免重复访问网络。

网络感知TableView控制器

TTTableViewControllerTTTableViewDataSource 帮助您构建从互联网加载数据的表格。与默认情况下仅假设您已经所有数据就绪的UITableView不同,TTTableViewController 允许您在数据加载时进行通信,当出现错误或没有内容可显示时,也会通知您。它还帮助您添加一个“更多”按钮来加载下一页的数据,并可选择通过摇晃设备重新加载数据。

更优秀的文字字段

TTTextEditor 是一个可以自动随您输入增长高度的 UITextView。我使用它在Facebook Chat中输入消息,其行为类似于Apple短信应用中的编辑器。

TTPickerTextField 是一个自动完成 UITextField。您输入时它会搜索数据源,并在选择自动完成选项时,在人流的文本中添加气泡。我在 TTMessageController 中使用它来选择消息接收者的姓名。

HTTP磁盘缓存

TTURLRequest 是对 NSURLRequest 的替换,它支持磁盘缓存(NSURLRequest 只能在内存中缓存)。它还具有其他一些不错的功能。HTTP POST 与提供一个参数字典一样简单。TTURL 加载系统还可在任何时间挂起和恢复,这是一个性能的有效助手。网络线程经常与UI线程争斗,因此您可以在应用在图形密集的瞬间挂起网络。

基于URL的导航

TTNavigator 是为像我这样的资深旧网页开发者设计的,它可以通过访问 URL 来组织应用程序的“页面”。

您的视图控制器可以简单注册它们处理的 URL 模式,当访问这些 URL 时,控制器将被创建并显示。您还可以注册当访问 URL 时调用的通用操作。

TTNavigator 还可以持久化和恢复导航控制器和模态视图控制器的完整路径,因此您的用户可以退出应用程序并准确地回到他们离开的地方。

更多了解请访问 Three20.info