分类: IOS2012-10-30 11:19 12047人阅读 评论(2) 收藏 举报

和gitHub上的Demo其实差不多,就是小整理了下,当备忘,想做复杂的效果可以参考MBProgressHUD在gitHub上的DEMO,写得也很清楚明了。

先下载MBProgressHUD.h和.m文件,拖入工程。地址:MBProgressHUD

以下是代码:(先在.h文件里定义 MBProgressHUD *HUD;)

  1. //方式1.直接在View上show
  2. HUD = [[MBProgressHUD showHUDAddedTo:self.view animated:YES] retain];
  3. HUD.delegate = self;
  4. //常用的设置
  5. //小矩形的背景色
  6. HUD.color = [UIColor clearColor];//这儿表示无背景
  7. //显示的文字
  8. HUD.labelText = @"Test";
  9. //细节文字
  10. HUD.detailsLabelText = @"Test detail";
  11. //是否有庶罩
  12. HUD.dimBackground = YES;
  13. [HUD hide:YES afterDelay:2];
  14. //只显示文字
  15. MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
  16. hud.mode = MBProgressHUDModeText;
  17. hud.labelText = @"Some message...";
  18. hud.margin = 10.f;
  19. hud.yOffset = 150.f;
  20. hud.removeFromSuperViewOnHide = YES;
  21. [hud hide:YES afterDelay:3];
  22. //方式2.initWithView
  23. //use block
  24. HUD = [[MBProgressHUD alloc] initWithView:self.view];
  25. [self.view addSubview:HUD];
  26. HUD.labelText = @"Test";
  27. [HUD showAnimated:YES whileExecutingBlock:^{
  28. NSLog(@"%@",@"do somethings....");
  29. [self doTask];
  30. } completionBlock:^{
  31. [HUD removeFromSuperview];
  32. [HUD release];
  33. }];
  34. //圆形进度条
  35. HUD = [[MBProgressHUD alloc] initWithView:self.view];
  36. [self.view addSubview:HUD];
  37. HUD.mode = MBProgressHUDModeAnnularDeterminate;
  38. HUD.delegate = self;
  39. HUD.labelText = @"Loading";
  40. [HUD showWhileExecuting:@selector(myProgressTask) onTarget:self withObject:nil animated:YES];
  41. //自定义view
  42. HUD = [[MBProgressHUD alloc] initWithView:self.view];
  43. HUD.customView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"37x-Checkmark.png"]] autorelease];
  44. // Set custom view mode
  45. HUD.mode = MBProgressHUDModeCustomView;
  46. HUD.delegate = self;
  47. HUD.labelText = @"Completed";
  48. [HUD show:YES];
  49. [HUD hide:YES afterDelay:3];

代理方法:

  1. #pragma mark -
  2. #pragma mark HUD的代理方法,关闭HUD时执行
  3. -(void)hudWasHidden:(MBProgressHUD *)hud
  4. {
  5. [hud removeFromSuperview];
  6. [hud release];
  7. hud = nil;
  8. }

二个task

  1. -(void) doTask{
  2. //你要进行的一些逻辑操作
  3. sleep(2);
  4. }
  5. -(void) myProgressTask{
  6. float progress = 0.0f;
  7. while (progress < 1.0f) {
  8. progress += 0.01f;
  9. HUD.progress = progress;
  10. usleep(50000);
  11. }
  12. }

MBProgressHUD的基本使用的更多相关文章

  1. MBProgressHud添加自定义动画

    在使用自定义view时,若直接使用,如下 MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES]; hud ...

  2. IOS MBProgressHUD的使用

    一,简介         苹果的应用程序一般都会用一种优雅的,半透明的进度显示效果,不过这个API是不公开的,因此你要是用了,很可能被清除出AppStore.而 MBProgressHUD提供了一个替 ...

  3. iOS基于MBProgressHUD的二次封装,一行搞定,使用超简单

    MBProgressHUD的使用,临时总结了几款最常用的使用场景: 1.提示消息 用法: [YJProgressHUD showMessage:@"显示文字,1s隐藏" inVie ...

  4. MBProgressHUD上传照片进度提示

    第一步,控制器先来个属性 @property (strong, nonatomic) MBProgressHUD *HUD; 第二步,显示与隐藏的调用方法 - (void)hudTipWillShow ...

  5. MBProgressHUD+FastCall

    + (void)showHudTipStr:(NSString *)tipStr; + (void)showHudTipStr:(NSString *)tipStr{ ) { MBProgressHU ...

  6. MBProgressHUD框架的使用:https://github.com/jdg/MBProgressHUD

    MBProgressHUD是一个开源类库,实现了各种样式的提示框, 下载地址:https://github.com/jdg/MBProgressHUD,然后把两个MBProgressHUD.h和MBP ...

  7. MBProgressHUD使用

    //方式1.直接在View上show HUD = [[MBProgressHUD showHUDAddedTo:self.view animated:YES] retain]; HUD.delegat ...

  8. MBProgressHUD.h file not found

    MBProgressHUD框架,怎么我导入MBProgressHUD+MJ.h会报错.(即MBProgressHUD+MJ根本不存在),我看其他人的视屏又可以导入 MBProgressHUD.h fi ...

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

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

  10. MBProgressHUD 扩展加载动画

    效果图: 设计给了一个组的图片,但是由于是透明的背景,会产生卡顿,其实只要两张图片就可以了 创建一个 MBProgressHUD 分类 增加方法 + (MB_INSTANCETYPE)myShowHU ...

随机推荐

  1. 自定义AuthorizeAttribute

    原文地址:http://www.cnblogs.com/shanyou/archive/2010/03/29/1699511.html 网站的权限判断是一个非常普遍的需求,从文章ASP.NET MVC ...

  2. C++ Template Specialization (模板特化)

    个人理解这个东西说白了就是当模板类(或函数)的类型参数为某特定值时用对应的特化定义代之. 看个例子吧 #include <iostream> using namespace std; te ...

  3. 使用XSLT实现Word下载

    Xslt是Extensible Stylesheet Language Transformations的缩写,用来将XML 文档转换到其它文档类型.XSLT的使用包括两个输入文件: – 包含实际数据的 ...

  4. Citrix 服务器虚拟化之十八 桌面虚拟化之部署MCS随机桌面池

    Citrix 服务器虚拟化之十八  桌面虚拟化之部署MCS随机桌面池 完成桌面模版的制作后,可以开始虚拟桌面池的发布 说明: 环境基于实验十七 1.登录DC服务器创建一个组织单位名为Citrix,然后 ...

  5. appcan里面模板的使用

    1:首先要定义一个字符串如果太长需要换行,可以用"\"来分割每行 2:模板里面使用的是ejs语法,所以可以使用if else语句等 3:字符串定义好之后要用appcan.view. ...

  6. Flashback Version Query、Flashback Transaction Query快速闪回细粒度数据

    Flashback Version Query 闪回版本查询 使用Flashback Version Query  返回在指定时间间隔或SCN间隔内的所有版本,一次commit命令就会创建一个版本. ...

  7. LVS+Keepalived实现MySQL从库读操作负载均衡

    http://www.osyunwei.com/archives/7464.html (学习运维知识好站) 说明: 操作系统:CentOS 5.X 64位 MySQL主服务器:192.168.21.1 ...

  8. Spring事务管理使用

    发现问题 最近,碰到一个问题,再用spring实现事务管理的时候,发现不起作用,在出异常时,并不会回滚数据库操作. 我想实现的功能如下: @Transactional(isolation=Isolat ...

  9. STL中的find_if函数

      上一篇文章也讲过,find()函数只能处理简单类型的内容,也就是缺省类型,如果你想用一个自定义类型的数据作为查找依据则会出错!这里将讲述另外一个函数find_if()的用法 这是find()的一个 ...

  10. angularjs手动解析表达式($parse)

    <!DOCTYPE html> <html lang="zh-CN" ng-app="app"> <head> <me ...