本文转载于:SVProgressHUD
GitHub:https://github.com/samvermette/SVProgressHUD
SVProgressHUD和MBProgressHUD效果差不多,不过不需要使用协议,同时也不需要声明实例。
直接通过类方法进行调用即可:
[SVProgressHUD method]
可以使用以下方法来显示状态:
+ (void)show;
+ (void)showWithMaskType:(SVProgressHUDMaskType)maskType;
+ (void)showWithStatus:(NSString*)string;
+ (void)showWithStatus:(NSString*)string maskType:(SVProgressHUDMaskType)maskType;
如果需要明确的进度,则使用以下方法:
+ (void)showProgress:(CGFloat)progress;
+ (void)showProgress:(CGFloat)progress status:(NSString*)status;
+ (void)showProgress:(CGFloat)progress status:(NSString*)status maskType:(SVProgressHUDMaskType)maskType;
通过dismiss方法来隐藏提示:
+ (void)dismiss;
另外提供了以下方法用于显示状态,并在1秒后自动隐藏提示(使用的图标来源于Glyphish:http://www.glyphish.com/):
+ (void)showSuccessWithStatus:(NSString*)string;
+ (void)showErrorWithStatus:(NSString *)string;
+ (void)showImage:(UIImage*)image status:(NSString*)string;// use 28x28 white pngs
示例:
#import "ViewController.h"
#import <SVProgressHUD/SVProgressHUD.h>
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
- (IBAction)show:(id)sender {
// [SVProgressHUD show];
//SVProgressHUDMaskType 设置显示的样式
[SVProgressHUD showWithMaskType:SVProgressHUDMaskTypeBlack];
[self performSelector:@selector(dismiss:) withObject:nil afterDelay:3];
}
- (IBAction)showText:(id)sender {
[SVProgressHUD showWithStatus:@"加载中,请稍后。。。"];
[self performSelector:@selector(dismiss:) withObject:nil afterDelay:3];
}
- (IBAction)showprogress:(id)sender {
[SVProgressHUD showProgress:0 status:@"加载中"];
[self performSelector:@selector(increateProgress) withObject:nil afterDelay:0.3];
}
static float progressValue = 0.0f;
- (void)increateProgress
{
progressValue += 0.1;
[SVProgressHUD showProgress:progressValue status:@"加载中"];
if (progressValue < 1) {
[self performSelector:@selector(increateProgress) withObject:nil afterDelay:0.3];
}else{
[self performSelector:@selector(dismiss:) withObject:nil afterDelay:0.4];
}
}
- (IBAction)dismiss:(id)sender {
[SVProgressHUD dismiss];
}
- (IBAction)showSuccess:(id)sender {
[SVProgressHUD showSuccessWithStatus:@"success"];
[self performSelector:@selector(dismiss:) withObject:nil afterDelay:3];
}
- (IBAction)showError:(id)sender {
[SVProgressHUD showErrorWithStatus:@"error"];
[self performSelector:@selector(dismiss:) withObject:nil afterDelay:3];
}
@end