第三方框架MBProgressHUD-----实现各种提示框
程序运行显示如下 :
点击按钮实现对应的提示框:
这里只截取了其中一张图,有兴趣的可以自己运行程序,查看其他的几种提示框哟!!!
第三方框架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-----实现各种提示框的更多相关文章
- iOS 第三方框架-MBProgressHUD
MBProgressHUD提示框官网地址:https://github.com/jdg/MBProgressHUD 官网里已经提供了足够多的例子供我们使用,但在实现开发中,我们用到的只是其中的一小部分 ...
- ios学习--第三方框架-MBProgressHUD以及扩展
MBProgressHUD提示框官网地址:https://github.com/jdg/MBProgressHUD 一. 模式 首先, MBProgressHUD有以下几种视图模式. typedef ...
- js中提示框闪退问题
当页面存在刷新 或 在线引用iframe框架时(引用框架也会导致刷新) 会导致页面加载时的弹出框闪退 解决方法:设置弹出框在页面或者框架完全加载一段时间后再弹出 <script type=& ...
- 【转】提示框第三方库之MBProgressHUD iOS toast效果 动态提示框效果
原文网址:http://www.zhimengzhe.com/IOSkaifa/37910.html MBProgressHUD是一个开源项目,实现了很多种样式的提示框,使用上简单.方便,并且可以对显 ...
- 【转】IOS学习笔记29—提示框第三方库之MBProgressHUD
原文网址:http://blog.csdn.net/ryantang03/article/details/7877120 MBProgressHUD是一个开源项目,实现了很多种样式的提示框,使用上简单 ...
- iOS提示框,为什么你应该使用 MBProgressHUD?
这是一篇带有一定笔者主观感情色彩的比较文章.文章着重对比github上最流行的两个iOS进度提示控件 MBProgressHUD 与 SVProgressHUD的各自优劣,来帮助初学者找到一个适合的i ...
- Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog)
Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog) Android第三方开源对话消息提示框:SweetAlertDialog(sweet- ...
- 提示框框架KVNProgress介绍
gitHub上面有很多显示加载进度的框架,这里我们介绍一下KVNProgress框架,KVNProgress是一个可以完全定制的HUD(指示器),你可以设置加载进度的画面是否全屏,可以自己修改进度显示 ...
- 【开源类库学习】MBProgressHUD(提示框)
新博客: http://www.liuchendi.com MBProgressHUD是一个开源类库,实现了各种样式的提示框, 下载地址:https://github.com/jdg/MBProgre ...
随机推荐
- UML再论关系extend和include
我在画用例图时,图中既有extend关系也有include关系,师父就问我这两种关系的区别,我在画的时候确实查阅了很多资料,可是在问的时候还是回答不上来,这就是这篇博客得来的缘由了. [include ...
- SpringBoot项目mysql配置文件密码加密(jasypt)
起因:因为我个人微博想要公开源码,但数据库配置文件会暴露在外面,又不想生产跟开发环境建来回切换,所以想到了加密数据库密码,于是问了群里的一个朋友小XX(原谅我不识字) 经过: 简单粗暴,直接上代码: ...
- vue 配置 TinyMCE
1.index.html 增加cdn 地址 <script src="//cdn.bootcss.com/tinymce/5.0.16/tinymce.min.js"> ...
- javaScript基础及初始面向对象
对象是什么?对象是包含相关属性和方法的集合体属性方法什么是面向对象面向对象仅仅是一个概念或者编程思想通过一种叫做原型的方式来实现面向对象编程 创建对象自定义对象内置对象 自定义对象2-1基于Objec ...
- BZOJ 4300: 绝世好题 二进制
对于每一个数字拆位,然后维护一个大小为 30 左右的桶即可. code: #include <bits/stdc++.h> #define N 100006 #define setIO(s ...
- [JXOI2017]颜色
\(Orz\) 各位题解大佬,我来膜拜一发 还有单调栈实在没弄懂 法一:线段树+堆 首先,讨论区间的个数的题目,我们可以想到枚举一个端点\(r\),找到所有的\(l\) 我们不妨设:\(ml[i]\) ...
- Mxnet框架搭建
Mxnet框架搭建 小书匠 kindle Mxnet是亚马逊开发的深度学习框架,和谷歌Tensorflow是同类型的框架. 1.安装Mxnet 这里只展示在线安装,源码编译安装等不演示:GPU安装与 ...
- 解决vue多个路由共用一个页面的问题
在日常的vue开发中我们可能会遇见多个路由需要共用一个页面的需求,特别是当路由是通过动态添加的,不同的路由展示的东西只是数据不同其他没有变化.例如: ? 1 2 3 4 5 6 7 8 9 10 11 ...
- java一周学习回顾
快速阅读 本周在学习java过程中主要是快马观花,对java的常用框架进行相关配置 ,进行简单的调用 .包括kafka,dubbo ,zookeeper.centos配置java环境.如何打war ...
- ORACLE数据库误删恢复
一.表的恢复 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的.一般步骤有: 1.从flash back里查询被删除的表 select * from r ...