工作代码:
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
已完成。诀窍是我每次离开vc时都会保存currentValue
。回到vc后,我将ring的进度设置为旧值,然后继续前进到maxValue。
当currentValue达到maxValue时,您可以在animationDuration
上工作,以使动画更平滑。
你能展示一些代码吗? –
这里只是一行代码来开始铃声动画'ring.setProgress(value:CGFloat(10),animationDuration:TimeInterval(10))' – lightofsky
这里添加这行吗? –