在iOS应用程序中,ProgressView用于显示任务随时间的进度。 ProgressView是UIProgressView的实例,该实例继承了UIView类。
class UIProgressView : UIView
ProgressView显示进度条,在这里无涯教程可以使用UIProgressView类的方法和属性来管理其样式。无涯教程可以获取并设置固定在任务进度上的值。
SN | Property or method | Description |
---|---|---|
1 | var progress: Float | 表示进度条显示的当前进度。 |
2 | func setProgress(Float, animated: Bool) | 此方法用于设置进度条的进度。无涯教程可以选择传递一个布尔值来确定动画是打开还是关闭。 |
3 | var observedProgress: Progress? | 它是进度对象,用于更新进度视图。 |
4 | var progressViewStyle: UIProgressView.Style | 它代表进度视图的当前图形样式。 |
5 | var progressTintColor: UIColor? | 它是进度栏已填充或完成的部分显示的颜色。 |
6 | var progressImage: UIImage? | 通过使用此属性,无涯教程可以为进度条的已填充部分设置图像。 |
7 | var trackTintColor: UIColor? | 它是进度条部分显示的颜色。 |
8 | var trackImage: UIImage? | 对于进度条中未填充的部分,显示的图像。 |
在此示例中,无涯教程将模拟注册示例,在该示例中,无涯教程将通过填写名称,电子邮件ID和密码来提示用户在应用程序中注册。当用户点击“提交”按钮时,无涯教程将向用户显示一个进度条,表明该用户数据正在保存在数据库中。如下图所示。
现在,让无涯教程添加进度视图和一个标签以指示界面的进度,如下图所示。
当用户点击“提交”按钮时,无涯教程将执行一个计时器来表示进度视图的进度。
ViewController.swift
import UIKit class ViewController: UIViewController { @IBOutlet weak var nameTF: UITextField! @IBOutlet weak var emailTF: UITextField! @IBOutlet weak var passwordTF: UITextField! @IBOutlet weak var CFPasswordTF: UITextField! @IBOutlet weak var progressView: UIProgressView! @IBOutlet weak var msgLbl: UILabel! @IBOutlet weak var sbmtBtn: UIButton! let progress = Progress(totalUnitCount: 4) var ratio: Float? override func viewDidLoad() { super.viewDidLoad() //加载视图后进行任何其他设置。 progressView.isHidden = true ratio = 0 progressView.progress = ratio! msgLbl.isHidden = true progressView.layer.cornerRadius = 10 sbmtBtn.layer.cornerRadius = 10 } @IBAction func clickedSubmitBtn(_ sender: Any) { if(nameTF.text != "" && emailTF.text != "" && passwordTF.text != ""){ sbmtBtn.isHidden = true msgLbl.isHidden = false progressView.isHidden = false Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { (timer) in guard self.progress.isFinished == false else{ timer.invalidate() self.msgLbl.text = "Data Saved" return } self.progress.completedUnitCount += 1 let progrsssFloat = Float(self.progress.fractionCompleted) self.progressView.setProgress(progrsssFloat, animated: true) } } } }
输出:
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)