这是一个 API,它引入了在 UIView 动画中 "回放"、"切换" 和 "向前" 的概念。
通过重载和正向扩展可以使动画之间实现循环。
Select QNDAnimatedView 不会强制在动画流程中设置特定的状态,因此任何“一致性”都由客户端负责。这是设计的,旨在不限制动画并做出任何关于所谓“一致性”的判断。
随后将有一系列的技术文章,介绍如何从 QNDAnimatedView 的角度考虑 UIKit 动画,并解释其设计的原理。
libQNDAnimations
'QNDAnimations.xcodeproj' 打包了一个静态库 'libQNDAnimations.a'。
QNDAnimationsApp
'QNDAnimationsApp.xcodeproj' 是用于演示 QNDAnimatedView 的.app。
2.0 增强现有的 UIView(s)。额外支持“向前”和“循环”动画。
1.0 初版。支持“回放”和“切换”动画。
将一个 UIView 拖入 xib,并将其类型更改为 QNDAnimatedView。
UIView<QNDAnimatedView>* animatedView = [[QNDAnimations new] newViewAnimated:frame];
[animatedView animateWithDuration:0.5 animation:^(UIView* view){ view.frame = newFrame; }];
[animatedView rewind];
[animatedView animateWithDuration:0.5 animation:^(UIView* view){ view.frame = newFrame; }];
[animatedView toggle];
[animatedView toggle];
[animatedView addViewAnimationBlock:^(UIView *view) {
view.frame = firstKeyFrame; }];
[animatedView addViewAnimationBlock:^(UIView *view) {
view.frame = secondKeyFrame; }];
[self.animatedView forward];
[self.animatedView forward];
UIView<QNDAnimatedView>* animatedView = [[QNDAnimations new] animateView:view];
打开 'QNDAnimations.xcworkspace' 并运行 QNDAnimationsApp 目标。
增加对定时动画的支持。
QNDAnimations 在 MIT 许可证下发布
版权所有 (C) 2013, Markos Charatzas (qnoid.com)
特此授权,免费提供给任何获得本软件及其相关文档文件(以下简称“软件”)副本的人士,无限制地在软件中进行处理,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许将软件提供给他人使用,前提是遵守以下条件:
上述版权声明和本许可声明应包含在软件的所有副本或主要内容中。
软件按“现有状况”提供,不提供任何形式的保证,包括但不限于适销性保证、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者不得对任何索赔、损害或其他责任承担责任,不论是根据合同、侵权或其他方式而产生的损害,不论是由于软件或其使用或其他方式引起的。