我使用一个Tab Bar Controller和一个吊舱UICircularProgressRing动画一个定时器,当我切换到第一个控制器从计时器控制器和右后,动画在定时器控制器立即设置为结束。是否可以在后台动画中运行,所以当我切换回动画时,继续运行就像你只是隐藏和取消隐藏视图?
这是一个有问题的礼物。
编辑1
下面是我想要获得https://giphy.com/gifs/ios-animation-timer-3ohzdGYkzbc1gjnUPe工作的一个例子
发布于 2017-05-14 19:41:09
工作代码:
import UIKit
import UICircularProgressRing
class TimerCountdownViewController: UIViewController {
@IBOutlet weak var ring: UICircularProgressRingView!
var currentValue: CGFloat?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
ring.setProgress(value: currentValue ?? 0, animationDuration: 0.0) { [weak self] in
self?.ring.setProgress(value: 10.0, animationDuration: 8.0)
}
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
currentValue = ring.currentValue
}
}我发现每次vc消失时,UICircularProgressRing pod都会将ring标记为已完成。诀窍是每次离开风投时我都会保存currentValue。回到vc之后,我将ring的进度设置为旧值,然后继续进行到maxValue的进度。
您可以在animationDuration上工作,而currentValue将访问maxValue,以使动画更加流畅。
https://stackoverflow.com/questions/43967987
复制相似问题