我正在使用float
让用户知道该应用正在运行。进度条设置为持续3秒,但在运行时,它会显示在“勾选”状态。运动并不像它应该的那样平滑。无论如何,我可以让它更顺利 - 我确定我的计算错误。
以下是代码:
NSTimer
答案 0 :(得分:0)
根据Apple iOS SDK文档,您可以使用下一个API实现它:
func setProgress(_ progress: Float, animated animated: Bool)
它调整接收器显示的当前进度,可选择设置更改动画。
参数:
progress
- 新的进度值。
animated
- true
如果更改应设置动画,false
如果更改应立即发生。
所以在你的情况下你应该这样做:
func setProgress() {
time += 0.1
dispatch_async(dispatch_get_main_queue()) {
progressView.setProgress(time / 3, animated: true)
}
if time >= 3 {
timer!.invalidate()
}
}
另请注意,在主线程上执行UI更新是一个好习惯,所以我只是在主队列上调度了进度更新。
希望它会对你有所帮助。