MBProgressHUD

本文介绍了如何在iOS应用中使用MBProgressHUD进行加载状态提示的实现方法,包括初始化、配置样式、显示与隐藏,以及代理方法的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引用三方MBProgressHUD文件
ViewController.h

#import <UIKit/UIKit.h>
#import "MBProgressHUD.h"

@interface ViewController : UIViewController
@property(nonatomic, retain)MBProgressHUD *HUD;

@end

ViewController.m

#import "ViewController.h"

@interface ViewController ()<MBProgressHUDDelegate>

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    self.view.backgroundColor = [UIColor lightGrayColor];

//    self.HUD = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
//    self.HUD.delegate = self;

    //  小矩形的背景颜色
//    self.HUD.color = [UIColor clearColor];
//    //  显示的文字
//    self.HUD.labelText = @"这是个神马玩意儿";
//    //  细节文字
//    self.HUD.detailsLabelText = @"细节是神马";
//    //  是否有遮罩
//    self.HUD.dimBackground = YES;
//    [self.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 hide:YES afterDelay:3];
//    hud.removeFromSuperViewOnHide = YES;

    //  方式2. initWithView
    //  use block
//    self.HUD = [[MBProgressHUD alloc] initWithView:self.view];
//    [self.view addSubview:self.HUD];
//    [self.HUD show:YES];
//    self.HUD.labelText = @"Test...";
//    //  实现block的操作是, 显示MBProgressHUD框
//    [self.HUD showAnimated:YES whileExecutingBlock:^{
//        NSLog(@"%@, @", @"songs is beautiful...");
//        
//    } completionBlock:^{
//        [self.HUD removeFromSuperview];
//        [self.HUD reloadInputViews];
//    }];


////    //  圆形进度条
//    self.HUD = [[MBProgressHUD alloc] initWithView:self.view];
//    [self.view addSubview:self.HUD];
//    self.HUD.mode = MBProgressHUDModeAnnularDeterminate;
//    self.HUD.delegate = self;
//    self.HUD.labelText = @"loading";
//    [self.HUD showWhileExecuting:@selector(myProgressTask) onTarget:self withObject:nil animated:YES];

    //  自定义view
//    self.HUD = [[MBProgressHUD alloc] initWithView:self.view];
//    self.HUD.customView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"0.jpg"]] autorelease];
//    //  set custom view mode
//    self.HUD.mode = MBProgressHUDModeCustomView;
//    self.HUD.delegate = self;
//    self.HUD.labelText = @"Completed";
//    [self.HUD show:YES];
//    [self.HUD hide:YES afterDelay:3];

    self.HUD = [[MBProgressHUD alloc] initWithView:self.view];
    self.HUD.customView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"37x-Checkmark.png"]] autorelease];
    // Set custom view mode
    self.HUD.mode = MBProgressHUDModeCustomView;
    self.HUD.delegate = self;
    self.HUD.labelText = @"Completed";
    [self.HUD showAnimated:YES whileExecutingBlock:^{
        NSLog(@"执行了吗");
    }];
    [self.HUD show:YES];
    [self.HUD hide:YES afterDelay:10];

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

- (void)myProgressTask {
    float progress = 0.0f;
    while (progress < 1.0f) {
        progress += 0.01f;
        self.HUD.progress = progress;
        //  1s 是10000
        usleep(50000);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值