菊花加载第三方--MBprogressHUD

上次说到了网络请求AFN,那么我们在网络请求的时候,等待期间,为了让用户不认为是卡死或程序出错,一般都会放一个菊花加载,系统有一个菊花加载类叫UIProgressHUD.但是我今天要说的是一个替代它的第三方,叫做:MBProgressHUD.MBProgressHUD不光加载效果多,而且使用简单,便捷.github上有下载地址

下载地址是: http://github.com/matej/MBProgressHUD

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

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

//方式1.直接在View上show  
HUD = [[MBProgressHUD showHUDAddedTo:self.view animated:YES] retain];  
HUD.delegate = self;  
  
//常用的设置  
//小矩形的背景色  
HUD.color = [UIColor clearColor];//这儿表示无背景  
//显示的文字  
HUD.labelText = @"Test";  
//细节文字  
HUD.detailsLabelText = @"Test detail";  
//是否有庶罩  
HUD.dimBackground = YES;  
[HUD hide:YES afterDelay:2];  
  
//只显示文字  
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];  
hud.mode = MBProgressHUDModeText;  
hud.labelText = @"Some message...";  
hud.margin = 10.f;  
hud.yOffset = 150.f;  
hud.removeFromSuperViewOnHide = YES;  
[hud hide:YES afterDelay:3];  
//方式2.initWithView  
//use block  
HUD = [[MBProgressHUD alloc] initWithView:self.view];  
[self.view addSubview:HUD];  
HUD.labelText = @"Test";  
[HUD showAnimated:YES whileExecutingBlock:^{  
    NSLog(@"%@",@"do somethings....");  
    [self doTask];  
} completionBlock:^{  
    [HUD removeFromSuperview];  
    [HUD release];          
}];  
  
//圆形进度条  
HUD = [[MBProgressHUD alloc] initWithView:self.view];  
[self.view addSubview:HUD];  
HUD.mode = MBProgressHUDModeAnnularDeterminate;  
HUD.delegate = self;  
HUD.labelText = @"Loading";  
[HUD showWhileExecuting:@selector(myProgressTask) onTarget:self withObject:nil animated:YES];  
  
//自定义view  
HUD = [[MBProgressHUD alloc] initWithView:self.view];  
HUD.customView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"37x-Checkmark.png"]] autorelease];  
// Set custom view mode  
HUD.mode = MBProgressHUDModeCustomView;  
HUD.delegate = self;  
HUD.labelText = @"Completed";  
[HUD show:YES];  
[HUD hide:YES afterDelay:3]; 


需要注意的是,MBprogressHUD的代理方法

#pragma mark HUD的代理方法,关闭HUD时执行  
-(void)hudWasHidden:(MBProgressHUD *)hud  
{  
    [hud removeFromSuperview];  
    [hud release];  
    hud = nil;  
}  



原文地址:https://www.cnblogs.com/liuqixu/p/4683000.html