AnimationSequencer
一个非常简单且可扩展的 UIView 动画扩展,无需嵌套完成闭包。它使用标准的 iOS API,但提供了更好的外观。
通常我们使用系统的 animate()
方法和完成块进行动画,但据我的经验,这种方法不可扩展,难以阅读,并且根据设计规范添加或删除新动画也非常困难。
最低要求
- iOS 8.0+
- Swift 5.1+
使用方法
从这些嵌套且难以理解的完成闭包。
UIView.animate(withDuration: 1.0, delay: 2.0, animations: {
square.center.x += 100
square.center.y += 100
}) { (finished) in
UIView.animate(withDuration: 0.3, animations: {
square.center.x = self.view.center.x
square.center.y = self.view.center.y
}) { (finished) in
UIView.animate(withDuration: 0.3, animations: {
square.alpha = 0
}) { (finished) in
}
}
}
到纯粹简洁、仅几行代码的效果。
square.animate([
ASAction.move(byX: 100, y: 100, duration: 1.0).delayedFor(2.0),
ASAction.move(centerToX: self.view.center.x, y: self.view.center.y),
ASAction.fadeOut()
])
安装
CocoaPods
如果尚未可用,请安装CocoaPods
$ [sudo] gem install cocoapods
转到您的Xcode项目目录,创建并编辑您的Podfile并添加该库
$ cd /path/to/MyProject
$ nano Podfile
pod 'AnimationSequencer'
将库安装到您的项目中
$ pod install
从.xcworkspace文件(而非常规的项目文件)打开您的项目
$ open MyProject.xcworkspace
您现在可以将import AnimationSequencer
框架导入到您的文件中。
手动方式
下载项目,并将AnimationSequencer
文件夹复制到您的项目中以使用。
贡献
欢迎贡献力量 ♡。
联系方式
Fabio Nisci • [email protected]
许可协议(MIT)
版权所有 (c) 2020-至今 - Fabio Nisci
以下对本软件及其相关文档文件(“软件”)的副本的任何人,均免费授予在此软件无限制地使用的许可,包括但不限于以下权利:使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向此软件提供者提供软件的个人使用这些权利。
上述版权声明和本许可声明应包含在软件的任何副本或主要部分中。
本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途的适用性和非侵权性。在任何情况下,作者或版权所有者均不对以下任何索赔、损害或其他责任承担责任: 源自、因使用或与其他软件相关联;或与软件的使用或操作有关的行为,无论这些行为是侵权、合同、侵权还是有其他行为。