MBProgressHUD可以伴随着事件的执行过程而显示:
//初始化进度框
hud = [[MBProgressHUD alloc] initWithView:self.view];
[hud setFrame:CGRectMake(40, 200, 100, 100)];
[self.view addSubview:hud];
hud.mode = MBProgressHUDModeIndeterminate;
hud.labelText = @"请稍等,加载中:10%";
if([self respondsToSelector:@selector(sleepFiveSecond)]){
[hud showWhileExecuting:@selector(selector1) onTarget:self withObject:nil animated:YES];
}
不用再写MBProgressHUD的停止代码,只要事件selector1执行完毕,MBProgressHUD也就自动消失。
其中selector事件可以是普通的事件,也可以是定时事件。
我们一般使用定时事件来控制MBProgressHUD的显示时间长短:
///休眠线程
-(void)selector1
{
sleep(5);
}