提示框第三方库之MBProgressHUD的内容知识介绍

提示框第三方库之MBProgressHUD的内容知识介绍

MBProgressHUD是一个开源项目,实现了很多种样式的提示框,使用上简单、方便,并且可以对显示的内容进行自定义,功能很强大,很多项目中都有使用到。到GitHub上可以下载到项目源码https://github.com/jdg/MBProgressHUD,下载下来后直接把MBProgressHUD.h和MBProgressHUD.m拖入工程中就行,别忘了选择拷贝到工程。完了在需要使用的地方导入头文件就可以开始使用了。首先看下工程截图:

提示框第三方库之MBProgressHUD的内容知识介绍

 

接下来是整个Demo的完整界面,这里我只选择出了几个常用的对话框,其他样式的在源码提供的Demo里可以找到,要用的话直接参考就可以。

提示框第三方库之MBProgressHUD的内容知识介绍

接下来直接上代码了,头文件部分:

 

[cpp]view plaincopy
 
 
  1. #import<UIKit/UIKit.h>
  2. #import"MBProgressHUD.h"
  3.  
  4. @interfaceViewController:UIViewController
  5. {
  6. //HUD(Head-UpDisplay,意思是抬头显示的意思)
  7. MBProgressHUD*HUD;
  8. }
  9.  
  10. -(IBAction)showTextDialog:(id)sender;
  11. -(IBAction)showProgressDialog:(id)sender;
  12. -(IBAction)showProgressDialog2:(id)sender;
  13. -(IBAction)showCustomDialog:(id)sender;
  14. -(IBAction)showAllTextDialog:(id)sender;
  15.  
  16. @end

实现文件(按钮实现部分):

 

 

[cpp]view plaincopy
 
 
  1. -(IBAction)showTextDialog:(id)sender{
  2. //初始化进度框,置于当前的View当中
  3. HUD=[[MBProgressHUDalloc]initWithView:self.view];
  4. [self.viewaddSubview:HUD];
  5.  
  6. //如果设置此属性则当前的view置于后台
  7. HUD.dimBackground=YES;
  8.  
  9. //设置对话框文字
  10. HUD.labelText=@"请稍等";
  11.  
  12. //显示对话框
  13. [HUDshowAnimated:YESwhileExecutingBlock:^{
  14. //对话框显示时需要执行的操作
  15. sleep(3);
  16. }completionBlock:^{
  17. //操作执行完后取消对话框
  18. [HUDremoveFromSuperview];
  19. [HUDrelease];
  20. HUD=nil;
  21. }];
  22. }
  23.  
  24. -(IBAction)showProgressDialog:(id)sender{
  25. HUD=[[MBProgressHUDalloc]initWithView:self.view];
  26. [self.viewaddSubview:HUD];
  27. HUD.labelText=@"正在加载";
  28.  
  29. //设置模式为进度框形的
  30. HUD.mode=MBProgressHUDModeDeterminate;
  31. [HUDshowAnimated:YESwhileExecutingBlock:^{
  32. floatprogress=0.0f;
  33. while(progress<1.0f){
  34. progress+=0.01f;
  35. HUD.progress=progress;
  36. usleep(50000);
  37. }
  38. }completionBlock:^{
  39. [HUDremoveFromSuperview];
  40. [HUDrelease];
  41. HUD=nil;
  42. }];
  43. }
  44.  
  45. -(IBAction)showProgressDialog2:(id)sender{
  46. HUD=[[MBProgressHUDalloc]initWithView:self.view];
  47. [self.viewaddSubview:HUD];
  48. HUD.labelText=@"正在加载";
  49. HUD.mode=MBProgressHUDModeAnnularDeterminate;
  50.  
  51. [HUDshowAnimated:YESwhileExecutingBlock:^{
  52. floatprogress=0.0f;
  53. while(progress<1.0f){
  54. progress+=0.01f;
  55. HUD.progress=progress;
  56. usleep(50000);
  57. }
  58. }completionBlock:^{
  59. [HUDremoveFromSuperview];
  60. [HUDrelease];
  61. HUD=nil;
  62. }];
  63. }
  64.  
  65. -(IBAction)showCustomDialog:(id)sender{
  66. HUD=[[MBProgressHUDalloc]initWithView:self.view];
  67. [self.viewaddSubview:HUD];
  68. HUD.labelText=@"操作成功";
  69. HUD.mode=MBProgressHUDModeCustomView;
  70. HUD.customView=[[[UIImageViewalloc]initWithImage:[UIImageimageNamed:@"Checkmark"]]autorelease];
  71. [HUDshowAnimated:YESwhileExecutingBlock:^{
  72. sleep(2);
  73. }completionBlock:^{
  74. [HUDremoveFromSuperview];
  75. [HUDrelease];
  76. HUD=nil;
  77. }];
  78.  
  79. }
  80.  
  81. -(IBAction)showAllTextDialog:(id)sender{
  82. HUD=[[MBProgressHUDalloc]initWithView:self.view];
  83. [self.viewaddSubview:HUD];
  84. HUD.labelText=@"操作成功";
  85. HUD.mode=MBProgressHUDModeText;
  86.  
  87. //指定距离中心点的X轴和Y轴的偏移量,如果不指定则在屏幕中间显示
  88. //HUD.yOffset=150.0f;
  89. //HUD.xOffset=100.0f;
  90.  
  91. [HUDshowAnimated:YESwhileExecutingBlock:^{
  92. sleep(2);
  93. }completionBlock:^{
  94. [HUDremoveFromSuperview];
  95. [HUDrelease];
  96. HUD=nil;
  97. }];
  98. }

依次实现的效果如下:

 

提示框第三方库之MBProgressHUD的内容知识介绍 提示框第三方库之MBProgressHUD的内容知识介绍

 

提示框第三方库之MBProgressHUD的内容知识介绍 提示框第三方库之MBProgressHUD的内容知识介绍

下面这个效果就类似Android中的Toast:

提示框第三方库之MBProgressHUD的内容知识介绍

以上就简单介绍了MBProgressHUD的使用,这里都是采用block的形式来操作的,这样写起代码来更直观也更高效。

 

转自:http://blog.csdn.net/tangren03/article/details/7877120

更多0