Dav*_*mes 3 animation ios swift
如果我想通过UIViewPropertyAnimator如何顺时针 360º 动画对象来利用用户交互动画?
// Does not animate
let animator = UIViewPropertyAnimator(duration: 2, curve: .linear) {
let radians = Angle(360).radians // 6.28318530717959
view.transform = view.transform.rotated(by: CGFloat(radians))
}
// (Using RxSwift to handle the user interaction via UISlider,
// but that can be ignored as an implementation detail for this question.)
let scrubs = slider.rx.value.asDriver()
scrubs.drive(onNext: { (value:Float) -> Void in
animator.fractionComplete = CGFloat(value)
})
Run Code Online (Sandbox Code Playgroud)
幸运的是,UIViewPropertyAnimator这很简单(如果不是有点hackish?)。只需制作两个动画,每个动画 180º。:
let animator = UIViewPropertyAnimator(duration: 2, curve: .linear) {
let radians = Angle(180).radians // 3.14159265358979
view.transform = view.transform.rotated(by: CGFloat(radians))
}
animator.addAnimations {
let radians = Angle(180).radians
view.transform = view.transform.rotated(by: radians)
}
Run Code Online (Sandbox Code Playgroud)
这就像一个动画,可以通过fractionComplete.
| 归档时间: |
|
| 查看次数: |
1139 次 |
| 最近记录: |