UIProgressView 在 setProgress 期间变为透明,动画 = true

Posted

技术标签:

【中文标题】UIProgressView 在 setProgress 期间变为透明,动画 = true【英文标题】:UIProgressView become transparent during setProgress with animated = true 【发布时间】:2021-11-03 07:54:26 【问题描述】:

ios15 UIProgressView 改变了行为。当我使用self.progress.setProgress(1.0, animated: true) 时,它从透明样式开始。如何返回“alpha = 1”样式。

    progress = 0

    progress = 20%

    progress = 70%

    progress = 90%

P.S.:progress.alpha = 1 不起作用

【问题讨论】:

***.com/questions/31449162/… 这似乎不是在 iOS 15 中发生的事情? @Vollan 它在以前的 iOS 版本上运行良好......( @DanKamilov 嘿,你解决了吗?我在 iOS 15 中也遇到了这个问题 【参考方案1】:

改变这种不透明/透明行为的唯一方法是使用您自己的计时器。

private let progressUnit = Progress(totalUnitCount: 20)

func startAnimate()
        self.progressView.setProgress(0.0, animated: false)
        self.progressUnit.completedUnitCount = 0
        
        Timer.scheduledTimer(withTimeInterval: 0.5, repeats: true)  timer in
            guard self.progressUnit.isFinished == false else
                timer.invalidate()
                return
            
            
            self.progressUnit.completedUnitCount += 1
            let progressFloat = Float(self.progressUnit.fractionCompleted)
            self.progressView.setProgress(progressFloat, animated: true)
        
    

【讨论】:

以上是关于UIProgressView 在 setProgress 期间变为透明,动画 = true的主要内容,如果未能解决你的问题,请参考以下文章

uiprogressview 没有出现在 iOS 7 中的 uitableview 下面

UIProgressView 未处理的颜色

UIProgressView 在 setProgress 期间变为透明,动画 = true

[UIProgressView在滚动uitableview时被隐藏

改变 UIProgressView 的位置?

如何在 UIProgressView 中设置进度色调颜色