QNDAnimations 2.1

QNDAnimations 2.1

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后发布2014年5月

未知所有者维护。



  • 作者:
  • Markos Charatzas

简介

这是一个 API,它引入了在 UIView 动画中 "回放"、"切换" 和 "向前" 的概念。

讨论

  • 回放允许再次播放过去已经播放的动画。
  • 向前播放允许播放预建的动画流程。
  • 给定一个动画,切换将在每个配对调用中“回放”和“向前”此动画。

回放 | 向前

通过重载和正向扩展可以使动画之间实现循环。

循环

QNDAnimatedView

Select QNDAnimatedView 不会强制在动画流程中设置特定的状态,因此任何“一致性”都由客户端负责。这是设计的,旨在不限制动画并做出任何关于所谓“一致性”的判断。

随后将有一系列的技术文章,介绍如何从 QNDAnimatedView 的角度考虑 UIKit 动画,并解释其设计的原理。

包含的内容

  • libQNDAnimations
    'QNDAnimations.xcodeproj' 打包了一个静态库 'libQNDAnimations.a'。

  • QNDAnimationsApp
    'QNDAnimationsApp.xcodeproj' 是用于演示 QNDAnimatedView 的.app。

版本

2.0 增强现有的 UIView(s)。额外支持“向前”和“循环”动画。
1.0 初版。支持“回放”和“切换”动画。

如何使用

在 Interface Builder 中

将一个 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)

特此授权,免费提供给任何获得本软件及其相关文档文件(以下简称“软件”)副本的人士,无限制地在软件中进行处理,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许将软件提供给他人使用,前提是遵守以下条件:

上述版权声明和本许可声明应包含在软件的所有副本或主要内容中。

软件按“现有状况”提供,不提供任何形式的保证,包括但不限于适销性保证、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者不得对任何索赔、损害或其他责任承担责任,不论是根据合同、侵权或其他方式而产生的损害,不论是由于软件或其使用或其他方式引起的。