swift实现提示框第三方库:MBProgressHUD

来源:互联网 发布:唯一网络王宇杰简介 编辑:程序博客网 时间:2024/04/30 21:19

GitHud的下载地址是:https://github.com/jdg/MBProgressHUD/

下载完成后,将MBProgressHUD.h和MBProgressHUD.m拖入已经新建好的Swift项目。因为使用的swift语言,所以拖入项目的时候会提示是否新建一个桥接objective-c与swift的文件,选择是即可。此步骤会自动新建一个文件。如图:
这里写图片描述
在该文件(MBProgressHUDDemo-Bridging-Header.h)中,有这样的一句注释:
// Use this file to impZ喎�"/kf/ware/vc/" target="_blank" class="keylink">vcnQgeW91ciB0YXJnZXQmcnNxdW87cyBwdWJsaWMgaGVhZGVycyB0aGF0IHlvdSB3b3VsZCBsaWtlIHRvIGV4cG9zZSB0byBTd2lmdC48L3A+DQo8cD7S4su806a4w8rHtbzI6823zsS8/qOsyrm1w8TjtcRzd2lmdL/J0tTKudPDzc+9+MiltcTOxLz+oaM8YnIgLz4NCtLytMujrNTauMPOxLz+1tDQtNXiw7TSu77ko7o8L3A+DQo8cHJlIGNsYXNzPQ=="brush:java;">#import "MBProgressHUD.h"

  • 1

会发现在Build Settings–>Swift complier -Code Generation中,多了一个项,个人理解是桥接文件MBProgressHUDDemo-Bridging-Header.h的声明。如果有不同见解,欢迎指正。如图:
这里写图片描述

尝试了几种样式的提示框。使用按键来触发。
这里写图片描述

以下是整个Demo的代码:

////  ViewController.swift//  MBProgressHUDDemo//  MBProgressHUD GitHud地址:https://github.com/jdg/MBProgressHUD///  Created by mobao on 15/7/1.//  Copyright (c) 2015年 mobao. All rights reserved.//import UIKitclass ViewController: UIViewController {    @IBAction func TextDialogBtn(sender: AnyObject) {        showTextDialog()    }    @IBAction func ProgressDialogBtn1(sender: AnyObject) {        showProgressDialog1()    }    @IBAction func ProgressDialogBtn2(sender: AnyObject) {        showProgressDialog2()    }    @IBAction func CustomDialogBtn(sender: AnyObject) {        showCustomDialog()    }    @IBAction func AllTextDialogBtn(sender: AnyObject) {        showAllTextDialog()    }    var HUD : MBProgressHUD?    override func viewDidLoad() {        super.viewDidLoad()        // Do any additional setup after loading the view, typically from a nib.    }    //文本提示框    func showTextDialog(){        //初始化对话框,置于当前的View当中        HUD = MBProgressHUD(view: self.view)        self.view.addSubview(HUD!)        //如果设置此属性,则当前view置于后台        HUD?.dimBackground = true        //设置对话框文字        HUD?.labelText = "请稍等"        HUD?.showAnimated(true, whileExecutingBlock: {            sleep(3)            }, completionBlock: {            self.HUD?.removeFromSuperview()            self.HUD = nil        })    }    //框型进度提示    func showProgressDialog1(){        //初始化对话框,置于当前的View当中        HUD = MBProgressHUD(view: self.view)        self.view.addSubview(HUD!)        //如果设置此属性,则当前view置于后台        HUD?.dimBackground = true        //设置对话框文字        HUD?.labelText = "正在加载"        //设置模式为进度框形的        HUD?.mode = MBProgressHUDMode.Determinate        HUD?.showAnimated(true, whileExecutingBlock: {            var progress : Float = 0.0            while(progress < 1.0){                progress += 0.01                self.HUD?.progress = progress                usleep(50000)            }            }, completionBlock: {                self.HUD?.removeFromSuperview()                self.HUD = nil        })    }    //进度条提示    func showProgressDialog2(){        //初始化对话框,置于当前的View当中        HUD = MBProgressHUD(view: self.view)        self.view.addSubview(HUD!)        //如果设置此属性,则当前view置于后台        HUD?.dimBackground = true        //设置对话框文字        HUD?.labelText = "正在加载"        //设置模式为进度条        HUD?.mode = MBProgressHUDMode.DeterminateHorizontalBar        HUD?.showAnimated(true, whileExecutingBlock: {            var progress : Float = 0.0            while(progress < 1.0){                progress += 0.01                self.HUD?.progress = progress                usleep(50000)            }            }, completionBlock: {                self.HUD?.removeFromSuperview()                self.HUD = nil        })    }    //自定义提示    func showCustomDialog(){        //初始化对话框,置于当前的View当中        HUD = MBProgressHUD(view: self.view)        self.view.addSubview(HUD!)        //如果设置此属性,则当前view置于后台        HUD?.dimBackground = true        //设置对话框文字        HUD?.labelText = "操作成功"        //设置模式为自定义        HUD?.mode = MBProgressHUDMode.CustomView        HUD?.customView = UIImageView(image: UIImage(named: "37x-Checkmark-1"))        HUD?.showAnimated(true, whileExecutingBlock: {            sleep(2)            }, completionBlock: {                self.HUD?.removeFromSuperview()                self.HUD = nil        })    }    //纯文本提示    func showAllTextDialog(){        //初始化对话框,置于当前的View当中        HUD = MBProgressHUD(view: self.view)        self.view.addSubview(HUD!)        //如果设置此属性,则当前view置于后台        HUD?.dimBackground = true        //设置模式为纯文本提示        HUD?.mode = MBProgressHUDMode.Text        //设置对话框文字        HUD?.labelText = "操作成功"        //指定距离中心点的X轴和Y轴的偏移量,如果不指定则在屏幕中间显示//        HUD?.yOffset = 150.0//        HUD?.xOffset = 150.0        HUD?.showAnimated(true, whileExecutingBlock: {            sleep(2)            }, completionBlock: {                self.HUD?.removeFromSuperview()                self.HUD = nil        })    }    override func didReceiveMemoryWarning() {        super.didReceiveMemoryWarning()        // Dispose of any resources that can be recreated.    }}

以下是运行的效果:

文本提示框:

这里写图片描述
进度提示框1:
这里写图片描述
进度提示框2:
这里写图片描述
自定义提示框:
这里写图片描述
纯文本提示框:
这里写图片描述

0 0
原创粉丝点击