SwiftProgressView

/ / SwiftProgressView

在iOS应用程序中,ProgressView用于显示任务随时间的进度。 ProgressView是UIProgressView的实例,该实例继承了UIView类。

class UIProgressView : UIView

ProgressView显示进度条,在这里无涯教程可以使用UIProgressView类的方法和属性来管理其样式。无涯教程可以获取并设置固定在任务进度上的值。

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/ios/ios-progressview.html

来源:LearnFk无涯教程网

属性和方法

SNProperty or methodDescription
1var progress: Float表示进度条显示的当前进度。
2func setProgress(Float, animated: Bool)此方法用于设置进度条的进度。无涯教程可以选择传递一个布尔值来确定动画是打开还是关闭。
3var observedProgress: Progress?它是进度对象,用于更新进度视图。
4var progressViewStyle: UIProgressView.Style它代表进度视图的当前图形样式。
5var progressTintColor: UIColor?它是进度栏已填充或完成的部分显示的颜色。
6var progressImage: UIImage?通过使用此属性,无涯教程可以为进度条的已填充部分设置图像。
7var trackTintColor: UIColor?它是进度条部分显示的颜色。
8var trackImage: UIImage?对于进度条中未填充的部分,显示的图像。
将ProgressView添加到Interface Builder
  • 要将ProgressView添加到Storyboard,在对象库中搜索UIProgressView并将结果拖到Storyboard,如下图所示。
iOS ProgressView
  • 为进度视图定义自动布局规则,以控制其在不同屏幕尺寸下的位置和大小。
  • 设置UIProgressView的适当属性,以控制进度视图随时间的进度。

例子

在此示例中,无涯教程将模拟注册示例,在该示例中,无涯教程将通过填写名称,电子邮件ID和密码来提示用户在应用程序中注册。当用户点击“提交”按钮时,无涯教程将向用户显示一个进度条,表明该用户数据正在保存在数据库中。如下图所示。

iOS ProgressView

现在,让无涯教程添加进度视图和一个标签以指示界面的进度,如下图所示。

iOS ProgressView

当用户点击“提交”按钮时,无涯教程将执行一个计时器来表示进度视图的进度。

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)
                
            }
        }
    }
}

输出:

iOS ProgressView

祝学习愉快! (发现内容有误?请选中要编辑的内容 -> 右键 -> 修改 -> 提交!帮助我们改进教程质量)

精选教程推荐

👇 以下精选教程可能对您有帮助,拓展您的技术视野

AI 时代程序员职业发展必修课 -〔Brook〕

DeepResearch前沿智能体实战 -〔云阳〕

PPT设计进阶 · 从基础操作到高级创意 -〔李金宝(Bobbie)〕

后端工程师的高阶面经 -〔邓明〕

Python自动化办公实战课 -〔尹会生〕

Web安全攻防实战 -〔王昊天〕

Java业务开发常见错误100例 -〔朱晔〕

即时消息技术剖析与实战 -〔袁武林〕

从0打造音视频直播系统 -〔李超〕

📝 好记忆不如烂笔头,留下您的学习笔记吧!

暂无学习笔记,成为第一个分享的人吧!

您的笔记将帮助成千上万的学习者