緩衝提示控件MBProgressHUD

import MBProgressHUD

//導入相關文件


class HeHeView:BaseView{

var hud: MBProgressHUD!

func addHud() {

        hud = MBProgressHUD(view: self.view)

        self.view.addSubview(hud)

    }


}


func showHud(){

    hud.show(true)



}

func showHud(){

    hud.hide(true)

}


附:

//背景漸變效果
hud.dimBackground = true
    
    //延遲隱藏
    hud.hide(true, afterDelay: 0.8)


這網址有詳細介紹

http://devonios.com/use-mbprogresshud-in-swift.html



在Swift項目中使用MBProgressHUD

前言

MBProgressHUD是一個使用OC語言寫的提示框庫,支持常用的進度條提示、菊花等待提示、純文本提示以及自定義提示。當然最重要的是可以異步執行一些網絡任務或者需要長時間操作的任務時顯示等待提示框。

在Swift項目中,如何使用呢,其實灰常的簡單,如果之前練習過在Swift項目中調用OC代碼的話,就不難了,步驟還是那幾個步驟。

Swift項目引入MBProgressHUD庫

MBProgressHUD的源碼很簡單,就一個h接口文件和一個m實現文件,一共2個文件。

下載後,把兩個文件拖到Swift項目中,XCode會提示是否創建橋接文件,選擇是後,會自動創建一個Bridging-Header.h文件。

我們需要在這個橋接文件中,引入MBProgressHUD庫,輸入:

#import "MBProgressHUD.h"

導入工作就完成了,現在可以調用MBProgressHUD的相關方法使用了。

在Swift中調用MBProgressHUD

代碼很簡單,羅列了三種類型,分別是默認的菊花提示、純文本提示、自定義視圖提示。

默認提示

func defaultShow(){
    var hud = MBProgressHUD.showHUDAddedTo(self.view, animated: true)
    

hud.mode=MBProgressHUDMode.Indeterminate

    hud.labelText = "這是默認帶菊花的提示"
    //背景漸變效果
    hud.dimBackground = true
    
    //延遲隱藏
    hud.hide(true, afterDelay: 0.8)
}

效果圖:

純文本提示:

func textShow(){
    var hud = MBProgressHUD.showHUDAddedTo(self.view, animated: true)
    hud.mode = MBProgressHUDMode.Text
    hud.labelText = "這是純文本提示"
    hud.detailsLabelText = "這是詳細信息內容,會很長很長呢"
    
    //延遲隱藏
    hud.hide(true, afterDelay: 0.8)
}

效果圖:

自定義視圖提示:

func customShow(){
    
    var hud = MBProgressHUD.showHUDAddedTo(self.view, animated: true)
    hud.mode = MBProgressHUDMode.CustomView
    hud.customView = UIImageView(image: UIImage(named: "yes")!)
    
    hud.labelText = "這是自定義視圖"
    
    //延遲隱藏
    hud.hide(true, afterDelay: 0.8)
}

效果圖:

使用異步功能

前面我們只實現了一個單純的提示框功能,它會自動隱藏掉。在多數項目中,還會涉及到異步操作的等待提示,比如網絡下載數據,那就要在提示的時候,後臺下載數據,完成後再自動隱藏掉。

func asyncShow(){
    var hud = MBProgressHUD.showHUDAddedTo(self.view, animated: true)
    hud.labelText = "請稍等,數據加載中,預計10秒中"
    
    hud.showAnimated(true, whileExecutingBlock: {
        //異步任務,在後臺運行的任務
        sleep(10)
    }) {
        //執行完成後的操作,移除
        hud.removeFromSuperview()
        hud = nil
    }
}

 

實現效果如圖所示:

1、默認效果,也就是MBProgressHUDModeIndeterminate

 

2、第一種加載提示框,MBProgressHUDModeDeterminate

3、第二種加載提示MBProgressHUDModeAnnularDeterminate

 

4、第三種加載提示框,MBProgressHUDModeDeterminateHorizontalBar

 

5、自定義提示框 ,可以帶圖片的MBProgressHUDModeCustomView

 

6.純文本提示框




發佈了32 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章