程序运行显示如下 :

点击按钮实现对应的提示框:

这里只截取了其中一张图,有兴趣的可以自己运行程序,查看其他的几种提示框哟!!!

第三方框架MBProgressHUD的下载地址:https://github.com/jdg/MBProgressHUD

程序代码如下 :

//
//  ViewController.m
//  第三方框架--提示框
//
//  Created by mac1 on 15/10/5.
//  Copyright (c) 2015年 www.iphonetrain.com. All rights reserved.
//

#import "ViewController.h"
#import "MBProgressHUD.h"

@interface ViewController ()
- (IBAction)textDialog:(id)sender;
- (IBAction)progressDialog1:(id)sender;
- (IBAction)progressDialog2:(id)sender;
- (IBAction)customDialog:(id)sender;
- (IBAction)allTextDialog:(id)sender;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
   
    
}

//文本提示框
- (IBAction)textDialog:(id)sender {
    
    //创建进度框
    __block MBProgressHUD *hud = [[MBProgressHUD alloc]initWithView:self.view];
    [self.view addSubview:hud];
    
    //将当前view置于后台
    hud.dimBackground = YES;
    
    //设置对话框的文字
    hud.labelText = @"请稍等";
    
    //显示对话框
    [hud showAnimated:YES whileExecutingBlock:^{
        
        //对话框显示时需要执行的操作
        sleep(3);
        
    } completionBlock:^{
        //操作完成后执行的操作,取消显示对话框
        [hud removeFromSuperview];
        hud = nil;    //block中改变对象值,__block
        
    }];
}

//进度提示框一
- (IBAction)progressDialog1:(id)sender {
    
    //创建进度框
    __block MBProgressHUD *hud = [[MBProgressHUD alloc]initWithView:self.view];
    [self.view addSubview:hud];
    
    hud.labelText = @"正在加载";
    
    //设置模式为进度框
    hud.mode = MBProgressHUDModeDeterminate;
    
    //显示进度框
    [hud showAnimated:YES whileExecutingBlock:^{
        
        //显示时执行的操作
        
        float progress = 0.0f;
        while (progress < 1.0f) {
            progress += 0.01;
            hud.progress = progress;
            usleep(50000);
 
        }
    } completionBlock:^{
        
        //完成后执行的操作
        [hud removeFromSuperview];
        hud = nil;
 
    }];
}

//进度提示框二
- (IBAction)progressDialog2:(id)sender {
    
    //创建进度框
    __block MBProgressHUD *hud = [[MBProgressHUD alloc]initWithView:self.view];
    [self.view addSubview:hud];
    
    hud.labelText = @"正在加载";
    
    //设置模式为进度框
    hud.mode = MBProgressHUDModeAnnularDeterminate;
    
    //显示进度框
    [hud showAnimated:YES whileExecutingBlock:^{
        
        //显示时执行的操作
        
        float progress = 0.0f;
        while (progress < 1.0f) {
            progress += 0.01;
            hud.progress = progress;
            usleep(50000);
            
        }
    } completionBlock:^{
        
        //完成后执行的操作
        [hud removeFromSuperview];
        hud = nil;
        
    }];
    
}

//自定义进度框
- (IBAction)customDialog:(id)sender {
    
    //创建进度框
    __block MBProgressHUD *hud = [[MBProgressHUD alloc]initWithView:self.view];
    [self.view addSubview:hud];
    
    hud.labelText = @"操作成功";
    hud.customView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"checkmark.png"]];
    [hud showAnimated:YES whileExecutingBlock:^{
        
        //休眠2秒
        sleep(2);
        
    } completionBlock:^{
        
        [hud removeFromSuperview];
        hud = nil;
        
    }];
}

//纯文本提示框
- (IBAction)allTextDialog:(id)sender {
    
    //创建进度框
    __block MBProgressHUD *hud = [[MBProgressHUD alloc]initWithView:self.view];
    [self.view addSubview:hud];
    
    hud.labelText = @"你操作对了哟!!!";
    hud.mode = MBProgressHUDModeText;
    
    //指定显示文本的偏移量,不指定默认显示在屏幕中间
    
    /*
    hud.xOffset = 150;
    hud.yOffset = 200;
     
     */
    [hud showAnimated:YES whileExecutingBlock:^{
        
        sleep(3);
        
    } completionBlock:^{
        
        [hud removeFromSuperview];
        hud = nil;
        
    }];
}
@end

第三方框架MBProgressHUD-----实现各种提示框的更多相关文章

  1. iOS 第三方框架-MBProgressHUD

    MBProgressHUD提示框官网地址:https://github.com/jdg/MBProgressHUD 官网里已经提供了足够多的例子供我们使用,但在实现开发中,我们用到的只是其中的一小部分 ...

  2. ios学习--第三方框架-MBProgressHUD以及扩展

    MBProgressHUD提示框官网地址:https://github.com/jdg/MBProgressHUD 一. 模式 首先, MBProgressHUD有以下几种视图模式. typedef ...

  3. js中提示框闪退问题

    当页面存在刷新  或  在线引用iframe框架时(引用框架也会导致刷新) 会导致页面加载时的弹出框闪退 解决方法:设置弹出框在页面或者框架完全加载一段时间后再弹出 <script type=& ...

  4. 【转】提示框第三方库之MBProgressHUD iOS toast效果 动态提示框效果

    原文网址:http://www.zhimengzhe.com/IOSkaifa/37910.html MBProgressHUD是一个开源项目,实现了很多种样式的提示框,使用上简单.方便,并且可以对显 ...

  5. 【转】IOS学习笔记29—提示框第三方库之MBProgressHUD

    原文网址:http://blog.csdn.net/ryantang03/article/details/7877120 MBProgressHUD是一个开源项目,实现了很多种样式的提示框,使用上简单 ...

  6. iOS提示框,为什么你应该使用 MBProgressHUD?

    这是一篇带有一定笔者主观感情色彩的比较文章.文章着重对比github上最流行的两个iOS进度提示控件 MBProgressHUD 与 SVProgressHUD的各自优劣,来帮助初学者找到一个适合的i ...

  7. Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog)

    Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog) Android第三方开源对话消息提示框:SweetAlertDialog(sweet- ...

  8. 提示框框架KVNProgress介绍

    gitHub上面有很多显示加载进度的框架,这里我们介绍一下KVNProgress框架,KVNProgress是一个可以完全定制的HUD(指示器),你可以设置加载进度的画面是否全屏,可以自己修改进度显示 ...

  9. 【开源类库学习】MBProgressHUD(提示框)

    新博客: http://www.liuchendi.com MBProgressHUD是一个开源类库,实现了各种样式的提示框, 下载地址:https://github.com/jdg/MBProgre ...

随机推荐

  1. Java位运算总结:位运算用途广泛

    前天几天研究了下JDK的Collection接口,本来准备接着研究Map接口,可是一查看HashMap类源码傻眼咯,到处是位运算实现,所以我觉得还是有必要先补补位运算知识,不然代码看起来有点费力.今天 ...

  2. TCL服务器端

    import socket def main(): # 创建套接字对象 tcp_server_socket = socket.socket(socket.AF_INET,socket.SOCK_STR ...

  3. php面向对象之$this->用法简述

    在成员方法中,调用成员方法的方法是对象名加方法名,格式就是“对象名->方法名”.但是在定义类的时候,我们往往不知道对象名是什么,所以就没法用对象名,这时,我们就要用到伪变量$this. 什么是$ ...

  4. [转]protobuf的编译安装

    github地址:https://github.com/google/protobuf支持多种语言,有多个语言的版本,本文采用的是在centos7下编译源码进行安装. github上有详细的安装说明: ...

  5. ROS手动编写消息发布器和订阅器topic demo(C++)

    1.首先创建 package cd ~/catkin_ws/src catkin_create_pkg topic_demo roscpp rospy std_msgs 2. 编写 msg 文件 cd ...

  6. FCFS,SJF,HRN

    1.编写并调试一个单道处理系统的作业等待模拟程序. 作业等待算法:分别采用先来先服务(FCFS),最短作业优先(SJF).响应比高者优先(HRN)的调度算法. 对每种调度算法都要求打印每个作业开始运行 ...

  7. js的模块化之路

    在ES6之前,官方没有出来import export这种模块化的语法. 为了提高代码复用.避免污染全局,民间写了很多模块化的实现: 1. 立即执行函数 (function(globalVariable ...

  8. mysql中Numeric类型和int类型的区别

    首先记一下,Numeric数字数据只包含 数字.数字数据包括正数.负数.小数.分数和整数 例子如下: Numeric(6,2) Numeric(16,6) Numeric(16,0) 从左到右,第一个 ...

  9. [APIO2015]八邻旁之桥——非旋转treap

    题目链接: [APIO2015]八邻旁之桥 对于$k=1$的情况: 对于起点和终点在同侧的直接计入答案:对于不在同侧的,可以发现答案就是所有点坐标与桥坐标的差之和+起点与终点不在同一侧的人数. 将所有 ...

  10. ICEM-缺角正方体(2D转3D)

    原视频下载地址:https://yunpan.cn/cqKYEeSsQhJHt  访问密码 1cce