【开源类库学习】MBProgressHUD(提示框)_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > 【开源类库学习】MBProgressHUD(提示框)

【开源类库学习】MBProgressHUD(提示框)

 2013/11/10 10:55:14  小木头_迪  博客园  我要评论(0)
  • 摘要:MBProgressHUD是一个开源类库,实现了各种样式的提示框,下载地址:https://github.com/jdg/MBProgressHUD,然后把两个MBProgressHUD.h和MBProgressHUD.m放到自己的项目就可以了。这里有一个小Demo可以参考一下。头文件部分:#import<UIKit/UIKit.h>#import"MBProgressHUD.h"@interfaceViewController:UIViewController
  • 标签:学习 SSH 开源

MBProgressHUD是一个开源类库,实现了各种样式的提示框, 下载地址:https://github.com/jdg/MBProgressHUD,然后把两个MBProgressHUD.h和MBProgressHUD.m放到自己的项目就可以了。这里有一个小Demo可以参考一下。

 

头文件部分:

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

@interface ViewController : UIViewController
{
    
    MBProgressHUD *HUD;
}

- (IBAction)showTextDialog:(id)sender;      //文本提示框,默认情况下
- (IBAction)showProgressOne:(id)sender;     //第一种加载提示框
- (IBAction)showProgressTwo:(id)sender;     //第二种加载提示框
- (IBAction)showProgressThree:(id)sender;   //第三种加载提示框
- (IBAction)showCustomDialog:(id)sender;    //自定义提示框,显示打钩效果
- (IBAction)showAllTextDialog:(id)sender;   //显示纯文本提示框

@end

实现文件部分

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

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

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (IBAction)showTextDialog:(id)sender {
    
    HUD = [[MBProgressHUD alloc] initWithView:self.view];
    [self.view addSubview:HUD];
    
    HUD.dimBackground = YES;  //把当前的view置于后台
    HUD.labelText = @"请稍等";
    
    //显示对话框
    [HUD showAnimated:YES whileExecutingBlock:^{
     
        sleep(3);
    } completionBlock:^{
    }];
}

- (IBAction)showProgressOne:(id)sender {
    
    HUD = [[MBProgressHUD alloc] initWithView:self.view];
    [self.view addSubview:HUD];
    
    HUD.labelText = @"正在加载";
    HUD.mode = MBProgressHUDModeDeterminate;
    //HUD.mode = MBProgressHUDModeAnnularDeterminate;
    [HUD showAnimated:YES whileExecutingBlock:^{
        
        float progress = 0.0f;
        while (progress < 1.0f) {
            progress += 0.01f;
            HUD.progress = progress;
            usleep(5000);
        }
    } completionBlock:^{
        [HUD removeFromSuperview];
        [HUD release];
        HUD = nil;

    }];
}



- (IBAction)showProgressTwo:(id)sender {

    HUD = [[MBProgressHUD alloc] initWithView:self.view];
    [self.view addSubview:HUD];
    
    HUD.labelText = @"正在加载";
    HUD.mode = HUD.mode = MBProgressHUDModeAnnularDeterminate;
    [HUD showAnimated:YES whileExecutingBlock:^{
        
        float progress = 0.0f;
        while (progress < 1.0f) {
            progress += 0.01f;
            HUD.progress = progress;
            usleep(5000);
        }
    } completionBlock:^{
        [HUD removeFromSuperview];
        [HUD release];
        HUD = nil;
        
    }];

}

- (IBAction)showProgressThree:(id)sender {
    
    HUD = [[MBProgressHUD alloc] initWithView:self.view];
    [self.view addSubview:HUD];
    
    HUD.labelText = @"正在加载";
    HUD.mode = MBProgressHUDModeDeterminateHorizontalBar;
    [HUD showAnimated:YES whileExecutingBlock:^{
        
        float progress = 0.0f;
        while (progress < 1.0f) {
            progress += 0.01f;
            HUD.progress = progress;
            usleep(5000);
        }
    } completionBlock:^{
        [HUD removeFromSuperview];
        [HUD release];
        HUD = nil;
        
    }];

}

- (IBAction)showCustomDialog:(id)sender {
    
    HUD = [[MBProgressHUD alloc] initWithView:self.view];
    [self.view addSubview:HUD];
    
    HUD.labelText = @"操作成功";
    HUD.mode = MBProgressHUDModeCustomView;
    HUD.customView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Checkmark"]] autorelease];
    [HUD showAnimated:YES whileExecutingBlock:^{
        sleep(2);
    } completionBlock:^{
        [HUD removeFromSuperview];
        [HUD release];
        HUD = nil;
    }];
}

- (IBAction)showAllTextDialog:(id)sender {
    
    
    HUD = [[MBProgressHUD alloc] initWithView:self.view];
    [self.view addSubview:HUD];
    
    HUD.labelText = @"操作成功";
    HUD.mode = MBProgressHUDModeText;
    HUD.customView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Checkmark"]] autorelease];
    [HUD showAnimated:YES whileExecutingBlock:^{
        sleep(2);
    } completionBlock:^{
        [HUD removeFromSuperview];
        [HUD release];
        HUD = nil;
    }];
    
}

- (void)dealloc {

    [super dealloc];
}
@end

 

实现效果如图所示:

1、默认效果,也就是MBProgressHUDModeIndeterminate

 

2、第一种加载提示框,MBProgressHUDModeDeterminate

3、第二种加载提示MBProgressHUDModeAnnularDeterminate

 

4、第三种加载提示框,MBProgressHUDModeDeterminateHorizontalBar

 

5、自定义提示框 ,可以带图片的MBProgressHUDModeCustomView

 

6.纯文本提示框

 

如果有什么问题,欢迎通过微博交流 @Linux_小木头

 

发表评论
用户名: 匿名