2016年12月22日 星期四

[iOS]Progress View元件

當APP需要執行一段時間時,通常會在介面中放一個進度條,讓使用者知道目前的進度。

Progress View是一個兩個顏色的線形元件,它是一個只能顯示,無法讓使用者操作的元件。


以下幾個常用屬性


Style  : 有Default 以及 Bar兩種 。預設值為Default。

Progress  :  元件目前數值,預設值為0.5

Progress Tint : 元件左方的顏色,預設為藍色。

Track Tint  : 元件右方的顏色,預設為灰色。


來做一個範例,模仿下載情況。


(1)首先拉出一個Button以及Progress View















(2)寫程式

//
//  ViewController.swift
//  compoment
//
//  Created by boywhy chen on 2016/12/19.
//  Copyright © 2016 boywhy chen. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    var mTimer:NSTimer?
  
    @IBOutlet weak var mProcess: UIProgressView!
  
    override func viewDidLoad() {
        super.viewDidLoad()
        
   }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
   
    
    //點下開始下載要做的事
    @IBAction func mDownload(sender: AnyObject) {
        //進度條回到原點
        mProcess.progress = 0
        //宣告Timer
         mTimer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector:#selector(ViewController.addCount), userInfo: nil, repeats: true)
        
    }
    
    //進度條Process增加Function
    func addCount()
    {
        var current:Float = mProcess.progress
     
        if (current>=1)
        {
            mTimer!.invalidate()
            mTimer = nil
        }
        else
        {
            current = current+0.1
            
            mProcess.progress = current

        }
    }
}







執行畫面


沒有留言:

張貼留言