您的位置:首页 > 其它

MBProgressHUD的基本使用

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

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

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

[cpp] view
plain copy

//方式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];

代理方法:

[cpp] view
plain copy

#pragma mark -

#pragma mark HUD的代理方法,关闭HUD时执行

-(void)hudWasHidden:(MBProgressHUD *)hud

{

[hud removeFromSuperview];

[hud release];

hud = nil;

}

二个task

[cpp] view
plain copy

-(void) doTask{

//你要进行的一些逻辑操作

sleep(2);

}

-(void) myProgressTask{

float progress = 0.0f;

while (progress < 1.0f) {

progress += 0.01f;

HUD.progress = progress;

usleep(50000);

}

}

用起来还是很easy的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: