FTUtils 中的代码是从 Free Time Studios 的 iPhone 项目中提取的通用实用代码。目前,只有一个主要实用工具(FTAnimationManager
)和一些简单的预处理器宏。有一些单元测试,但还需要更多。文档仍在开发中。
最简单地使用 FTUtils 是通过将 FTUtils.h
,FTAnimationManager.h
和 FTAnimationManager.m
拷贝到您的项目中。请确保将 QuartzCore 框架添加到您的项目中(以下步骤 5)。将 FTUtils 集成到您项目中的首选方法是将它作为静态库添加。这将使其与您的代码分离。
以下是将 FTUtils 静态库添加到您的 Xcode 项目的步骤(以下步骤借鉴自 three20 项目 并进行了修改)
克隆 ftutils git 仓库:git clone git://github.com/neror/ftutils.git
。请确保将仓库存储在一个永久位置,因为 Xcode 在每次编译项目时都需要引用这些文件。
1(a). 如果您已经使用 git 来管理您的源文件,您还可以将 ftutils 仓库作为子模块添加到您的项目中。
在 "ftutils" 中找到 "FTUtils.xcodeproj" 文件。将 FTUtils.xcodeproj 拖拽到 Xcode 项目的 "Groups and Files" 侧边栏的根目录。会出现一个对话框 -- 在点击 "Add" 之前,请确保 "Copy items" 没有勾选,"Reference Type" 为 "Relative to Project"。
现在您需要将 FTUtils 静态库链接到您的项目。点击刚添加到侧边栏的 "FTUtils.xcodeproj" 项。在 "Details" 表格下,您会看到一个单独的项目:libFTUtils.a。在 libFTUtils.a 最右边的复选框上勾选。
现在您需要将 FTUtils 作为您项目的依赖项添加,这样 Xcode 就会在编译项目时编译它。展开侧边栏的 "Targets" 部分,双击您的应用程序目标。在 "General" 选项卡下,您会看到一个 "Direct Dependencies" 部分。点击 "+" 按钮,选择 "FTUtils",然后点击 "Add Target"。
现在您需要将 Core Animation 框架添加到您的项目中。在项目中的 "Frameworks" 组(或等效的)上右键点击,选择 Add > Existing Frameworks。然后定位到 QuartzCore.framework 并将其添加到项目中。
最后,我们需要告诉您的项目FTUtils头文件在哪里。打开您的“项目设置”,然后转到“构建”标签。查找“头文件搜索路径”,双击它。从您的项目文件夹到“ftutils/Headers”目录的相对路径添加进去。
在您处于“项目设置”状态时,切换到“链接器”部分下的“其他链接器标志”,然后将“-ObjC”和“-all_load”添加到标志列表中。
您已经准备就绪!只需将头文件导入到您的代码中即可使用您想使用库的部分。FTAnimation.h头文件包含库中的所有内容,所以您可以简单地包含它。
#import <FTUtils/FTAnimation.h>
享受吧!并且特别感谢Joe Hewitt为他的three20项目撰写了这些步骤!我想我不太可能有耐心将它完成。
FTAnimation被设计成使复杂的核心动画动画简单易创建和使用。访问预构建动画的主要接口是UIView
的一个类别。动画一个视图就像这样简单。
[myView slideInFrom:kFTAnimationBottom duration:.33f delegate:self];
您也可以通过FTAnimationManager
单例访问驱动类别方法的CAAnimation
实例,如下所示
CAAnimation *anim = [[FTAnimationManager sharedManager] slideInAnimationFor:myView direction:kFTAnimationBottom
duration:.33f delegate:self];
修改到您满意并/或将其添加到CAAnimationGroup
中,当您准备好使用它时将其添加到视图的图层
anim.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInOut];
[myView.layer addAnimation:anim forKey:@"MySpecialAnimation"];
查看代码以获取详细信息。
FTAnimation附带13种预制的UIView
动画,用于在界面中动画显示和隐藏视图。这些动画都通过一个类别在UIView
类中提供。
FTUtils是由Nathan Eror (@neror)编写的,用于在Free Time Studios (@freetimestudios)开发的iPhone游戏中使用。
The MIT License
Copyright (c) 2009 Free Time Studios and Nathan Eror
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.