首页 > 解决方案 > UIProgressView 进度 色调 颜色 颜色 错误

问题描述

我有酒吧风格UIProgressView。进度条具有灰色背景和白色进度颜色,我正在以 10 秒的时间为进度更改设置动画。在模拟器(iOS 14.5)上一切正常,但是,在真实设备(iOS 15)上,progressBar 的动画从灰色变为白色。因此,在完成进度部分的开始,我看到的是灰色而不是白色。

我如何初始化我的视图:

let segment = UIProgressView(progressViewStyle: .bar)
segment.layer.cornerRadius = 3.0
segment.layer.masksToBounds = true
segment.snp.makeConstraints { make in
    make.height.equalTo(4)
}
segment.progress = 0.0
segment.trackTintColor = UIColor.black.withAlphaComponent(0.2)
segment.progressTintColor = Colors.white
segment.tintColor = Colors.white

我如何制作动画:

self.progressBar.progress = 1.0
animator = UIViewPropertyAnimator(duration: storyTime, curve: .linear, animations: {
    self.progressBar.layoutIfNeeded()
})
animator?.addCompletion { [weak self] position in
    guard let self = self else { return }
}
animator?.startAnimation()

在真实设备上:

设备

在模拟器上:

模拟器

标签: iosswiftuiprogressviewios15

解决方案


推荐阅读