| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
10年前发布

MBProgressHUD的基本使用

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

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

以下是代码:(先在.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];  

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

二个task

 -(void) doTask{        //你要进行的一些逻辑操作        sleep(2);      }          -(void) myProgressTask{           float progress = 0.0f;    while (progress < 1.0f) {        progress += 0.01f;        HUD.progress = progress;        usleep(50000);    }          }