Fix progress indicator animation glitch
This commit is contained in:
@@ -25,9 +25,11 @@ class URLBar: UIView
|
||||
|
||||
private let backgroundView = UIVisualEffectView(effect: UIBlurEffect(style: .systemThickMaterial))
|
||||
private let shadowView = UIView(frame: .zero)
|
||||
private let progressIndicatorView = ProgressIndicatorView()
|
||||
private let fadeMaskView = UIImageView(frame: .zero)
|
||||
|
||||
private let progressIndicatorView = ProgressIndicatorView()
|
||||
private var progressIndicatorAnimating = false
|
||||
|
||||
private let refreshImage = UIImage(systemName: "arrow.clockwise")
|
||||
private let stopImage = UIImage(systemName: "xmark")
|
||||
|
||||
@@ -83,16 +85,22 @@ class URLBar: UIView
|
||||
private func updateProgressIndicator() {
|
||||
setErrorButtonAnimating(false)
|
||||
|
||||
UIView.animate(withDuration: 0.4) {
|
||||
if progressIndicatorAnimating {
|
||||
return
|
||||
}
|
||||
|
||||
UIView.animate(withDuration: 0.4) { [unowned self] in
|
||||
switch self.loadProgress {
|
||||
case .complete:
|
||||
self.refreshButton.setImage(self.refreshImage, for: .normal)
|
||||
self.progressIndicatorView.progress = 1.0
|
||||
self.progressIndicatorAnimating = true
|
||||
UIView.animate(withDuration: 0.5, delay: 0.5, options: AnimationOptions()) {
|
||||
self.progressIndicatorView.alpha = 0.0
|
||||
} completion: { _ in
|
||||
// Reset back to zero
|
||||
self.progressIndicatorView.progress = 0.0
|
||||
self.progressIndicatorAnimating = false
|
||||
}
|
||||
|
||||
case .loading(let progress):
|
||||
|
||||
Reference in New Issue
Block a user