您的位置:首页 > 移动开发 > IOS开发

LHProgressHUD(0.1.1)

2016-06-15 16:04 405 查看

LHProgressHUD









项目地址

https://github.com/LeoMobileDeveloper/LHProgressHUD

最基本的效果



当然,出了上述动画,还支持

动态绘制success,failure,info几个状态

UIActivityIndicator

纯文本

UIVisualEffectView(模糊)

Gif

CustomView

运行Demo工程

下载或者clone https://github.com/LeoMobileDeveloper/LHProgressHUD.git

一些Demo工程中的效果











要求

iOS 8+

ARC

安装

建议用CocoaPod安装,在Podfile中加入一行。

pod "LHProgressHUD"


然后执行

pod install


使用

整个API的设计是模仿流行的MBProgressHUD来设计的,所以,使用起来也类似

最常见的场景:显示,然后隐藏

LHProgressHUD * hud = [LHProgressHUD showSuccessAddedToView:self.view animated:YES];
hud.textLabel.text = @"Loading...";
[hud hideAfterDelay:1.0 hiddenBlock:^{
NSLog(@"HUD is hidden");
}]


LHProgressHUD用主模式和次要模式来区分应该怎样显示

主要模式

typedef NS_ENUM(NSInteger,LHProgressHUDMode){
LHProgressHUDModeNormal, //正常模式
LHProgressHUDModeActivityIdenticator,//小菊花
LHProgressHUDModeCustomView,//自定义View
LHProgressHUDModeTextOnly,//纯文本
LHProgressHUDModeProgress,//进度
LHPRogressHUDModeGif,//Gif
};


次要模式对应-LHProgressHUDModeNormal

typedef NS_ENUM(NSInteger,LHPRogressHUDSubMode){
LHProgressHUDSubModeAnimating, //圆圈转
LHProgressHUDSubModeSuccess,//成功
LHProgressHUDSubModeInfo,//信息
LHProgressHUDSubModeFailure,//失败
};


可以通过以下方法来切换次要模式,在切换次要模式的时候,支持动态绘制

-(void)resetWithStatus:(NSString *)status;

-(void)showInfoWithStatus:(NSString *)status animated:(BOOL)animated;

-(void)showSuccessWithStatus:(NSString *)status animated:(BOOL)animated;

-(void)showFailureWithStatus:(NSString *)status animated:(BOOL)animated;


比如,显示成功

LHProgressHUD * hud = [LHProgressHUD showSuccessAddedToView:self.view animated:YES];
hud.spinnerColor = [UIColor whiteColor];
hud.infoColor = [UIColor orangeColor];
[hud hideAfterDelay:1.0];


当然,也可以在SubMode之前切换

LHProgressHUD * hud = [LHProgressHUD showAddedToView:self.view];
hud.textLabel.text = @"Loading...";
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[hud showSuccessWithStatus:@"Success" animated:YES];
[hud hideAfterDelay:1.0 hiddenBlock:^{
NSLog(@"HUD is hidden");
}];
});


纯文本



LHProgressHUD * hud = [LHProgressHUD showAddedToView:self.view];
hud.mode = LHProgressHUDModeTextOnly;
hud.textLabel.text = @"Loading...";
[hud hideAfterDelay:1.0];


UIActivityIndicator



LHProgressHUD * hud = [LHProgressHUD showAddedToView:self.view];
hud.mode = LHProgressHUDModeActivityIdenticator;
[hud hideAfterDelay:1.0];


模糊



LHProgressHUD * hud = [LHProgressHUD showAddedToView:self.view];
hud.textLabel.text = @"Loading...";
hud.spinnerColor = [UIColor whiteColor];
hud.infoColor = [UIColor orangeColor];
hud.backgroundView.blurStyle = LHBlurEffectStyleDark;
hud.centerBackgroundView.blurStyle = LHBlurEffectStyleNone;
hud.centerBackgroundView.backgroundColor = [UIColor clearColor];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[hud showSuccessWithStatus:@"Success" animated:YES];
[hud hideAfterDelay:1.0 hiddenBlock:^{
NSLog(@"HUD is hidden");
}];
});


GIf动图

LHProgressHUD * hud = [LHProgressHUD showAddedToView:self.view];
hud.mode = LHPRogressHUDModeGif;
hud.centerBackgroundView.blurStyle = LHBlurEffectStyleNone;
hud.centerBackgroundView.backgroundColor = [UIColor clearColor];
hud.gifImageView = [[LHGifImageView alloc] initWithGifImageName:@"gif"];
[hud hideAfterDelay:3.0];


版本

0.1.0 release 第一个版本

0.1.1 重新定义了接口,更加易用,修复若干bug
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Progress HUD Leo iOS Github