要在重新加载视图控制器后仍然显示progressView
的进度,关键在于确保进度信息在视图控制器的生命周期中得到持久化,并且在视图重新加载时能够恢复这个状态。以下是一些基础概念和相关步骤:
viewDidLoad()
, viewWillAppear()
, viewDidAppear()
等,这些方法在视图控制器的不同阶段被调用。以下是一个简单的示例,展示如何在Swift中使用UserDefaults
来保存和恢复progressView
的进度。
UserDefaults
。viewDidLoad()
或viewWillAppear()
方法中从UserDefaults
读取进度并更新progressView
。import UIKit
class MyViewController: UIViewController {
var progressView: UIProgressView!
override func viewDidLoad() {
super.viewDidLoad()
// 初始化progressView
progressView = UIProgressView(progressViewStyle: .default)
progressView.frame = CGRect(x: 0, y: 0, width: view.bounds.width, height: 20)
view.addSubview(progressView)
// 恢复进度
restoreProgress()
}
func updateProgress(_ progress: Float) {
progressView.progress = progress
// 保存进度
UserDefaults.standard.set(progress, forKey: "progressKey")
}
func restoreProgress() {
let savedProgress = UserDefaults.standard.float(forKey: "progressKey")
progressView.progress = savedProgress
}
}
UserDefaults
中的数据,以避免混淆旧数据和新数据。通过这种方式,即使视图控制器重新加载,progressView
也能显示之前的进度。这种方法简单且有效,适用于大多数基本的进度跟踪需求。
领取专属 10元无门槛券
手把手带您无忧上云