测试已测试 | ✗ |
Lang语言 | SwiftSwift |
许可协议 | Apache 2 |
发布最后发布 | 2017年2月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Jeff Verkoeyen 维护。
依赖关系 | |
MaterialMotionTransitions | ~> 1.0 |
MaterialMotionCoreAnimation | ~> 2.0 |
TransitionTween
允许您在 Material Motion 转换期间表达双向缓动。
考虑以下一个简单的“淡入”转换导演的示例
class FadeInTransitionDirector: NSObject, TransitionDirector {
let transition: Transition
required init(transition: Transition) {
self.transition = transition
}
func setUp() {
let fadeIn = TransitionTween("opacity",
transition: transition,
segment: .init(position: 0, length: 1),
back: NSNumber(value: 0),
fore: NSNumber(value: 1))
fadeIn.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
transition.runtime.addPlan(fadeIn, to: transition.foreViewController.view.layer)
}
}
在这个导演中,我们定义了一个单一的 TransitionTween 来处理前进和反向转换。向前移动时,发出从 0 到 1 的不透明度缓动。向后移动时,发出从 1 到 0 的不透明度缓动。在两个方向上,缓动都会在整个转换时间窗口中发生。
导入框架
@import MaterialMotionCoreAnimationTransitions;
现在您将能够访问所有的 API。
运行以下命令来检查 repo 的本地副本,以通过以下命令访问 Catalog 应用程序
git clone https://github.com/material-motion/coreanimation-transitions-swift.git
cd coreanimation-transitions-swift
pod install
open MaterialMotionCoreAnimationTransitions.xcworkspace
代码片段
在 Objective-C 中
MDMTween *tween = [[MDMTween alloc] initWithKeyPath:@"<#key path#>"
duration:<#duration#>
values:@[<#values...#>]];
[scheduler addPlan:tween to:<#Object#>];
在 Swift 中
let tween = TransitionTween(<#key path#>,
transition: transition,
segment: .init(position: <#position#>, length: <#length#>),
back: <#back value#>,
fore: <#fore value#>)
transition.scheduler.addPlan(tween, to: <#Layer#>)
我们欢迎贡献!
查看我们即将到来的里程碑。
采用Apache 2.0许可。详细信息请参阅LICENSE文件。