最近不是很忙的情況下,發(fā)現(xiàn)項(xiàng)目中對(duì)MBPrograssHUD的二次封裝有些問題,于是決定重新封裝一下
YWHUDManager
介紹
封裝成了加載,成功,失敗,警告,文字,自定義視圖,自定義視圖按鈕,隱藏視圖等幾大板塊,并且全部支持隱藏時(shí)回調(diào),另外提供了接口允許修改所有默認(rèn)屬性,使用靈活,而且使用該框架不會(huì)出現(xiàn)在同一視圖疊加問題,就是說在同一個(gè)父視圖上顯示不會(huì)統(tǒng)一顯示兩個(gè)提示框 方便調(diào)用 ,歡迎大家使用指導(dǎo)
視圖顯示
- 顯示加載
4.gif - 顯示成功
5.gif - 顯示失敗
6.gif - 顯示警告
7.gif - 顯示文字
8.gif - 顯示自定義視圖
9.gif - 顯示自定義視圖和按鈕
10.gif
用法
去GitHub下載zip,把其中的YWHudManager拖入到你的項(xiàng)目中,記得點(diǎn)擊允許copy
導(dǎo)入HUDManager.h
#import "HUDManager.h"
顯示加載
#pragma mark - 加載
-(void)showLoading{
[HUDManager showLoadingHud:nil];
[self hidenHud];
}
-(void)showLoadingOnView{
[HUDManager showLoadingHud:@"加載中..." onView:self.view];
[self hidenHudFromView];
}
-(void)showLoadingAndCompletionBlock{
[HUDManager showLoadingHud:nil onView:nil completionBlock:^{
NSLog(@"不指定視圖加載完成");
}];
[self hidenHud];
}
-(void)showLoadingAndCompletionBlockOnView{
[HUDManager showLoadingHud:@"加載中..." onView:self.view completionBlock:^{
NSLog(@"指定視圖加載完成");
}];
[self hidenHudFromView];
}
顯示成功
-(void)showSuccess{
[HUDManager showStateHud:nil state:HUDStateTypeSuccess];
}
-(void)showSuccessView{
[HUDManager showStateHud:nil state:HUDStateTypeSuccess onView:self.view];
}
-(void)showSuccessTimeView{
[HUDManager showStateHud:@"這是成功了" state:HUDStateTypeSuccess afterDelay:2 onView:self.view];
}
-(void)showSuccessTime{
[HUDManager showStateHud:@"這是成功了" state:HUDStateTypeSuccess afterDelay:5];
}
-(void)showSuccessTimeImgName{
[HUDManager showStateHud:nil state:HUDStateTypeSuccess imgName:@"微笑 _小" afterDelay:1.5];
}
-(void)showSuccessTimeImgNameView{
[HUDManager showStateHud:nil state:HUDStateTypeSuccess imgName:nil afterDelay:1 onView:self.view];
}
-(void)showSuccessTimeImgNameViewBlock{
[HUDManager showStateHud:nil state:HUDStateTypeSuccess imgName:nil afterDelay:2 onView:nil completionBlock:^{
NSLog(@"成功回調(diào)");
}];
}
顯示失敗
-(void)showFail{
[HUDManager showStateHud:nil state:HUDStateTypeFail];
}
-(void)showFailView{
[HUDManager showStateHud:nil state:HUDStateTypeFail onView:self.view];
}
-(void)showFailTimeView{
[HUDManager showStateHud:@"這是失敗了" state:HUDStateTypeFail afterDelay:2 onView:self.view];
}
-(void)showFailTime{
[HUDManager showStateHud:@"這是失敗了" state:HUDStateTypeFail afterDelay:5];
}
-(void)showFailTimeImgName{
[HUDManager showStateHud:nil state:HUDStateTypeFail imgName:@"哭" afterDelay:1.5];
}
-(void)showFailTimeImgNameView{
[HUDManager showStateHud:nil state:HUDStateTypeFail imgName:nil afterDelay:1 onView:self.view];
}
-(void)showFailTimeImgNameViewBlock{
[HUDManager showStateHud:nil state:HUDStateTypeFail imgName:nil afterDelay:2 onView:nil completionBlock:^{
NSLog(@"失敗回調(diào)");
}];
}
顯示警告
-(void)showWarning{
[HUDManager showStateHud:nil state:HUDStateTypeWarning];
}
-(void)showWarningView{
[HUDManager showStateHud:nil state:HUDStateTypeWarning onView:self.view];
}
-(void)showWarningTimeView{
[HUDManager showStateHud:@"這是警告了" state:HUDStateTypeWarning afterDelay:2 onView:self.view];
}
-(void)showWarningTime{
[HUDManager showStateHud:@"這是警告了" state:HUDStateTypeWarning afterDelay:5];
}
-(void)showWarningTimeImgName{
[HUDManager showStateHud:nil state:HUDStateTypeWarning imgName:@"哭" afterDelay:1.5];
}
-(void)showWarningTimeImgNameView{
[HUDManager showStateHud:nil state:HUDStateTypeWarning imgName:nil afterDelay:1 onView:self.view];
}
-(void)showWarningTimeImgNameViewBlock{
[HUDManager showStateHud:nil state:HUDStateTypeWarning imgName:nil afterDelay:2 onView:nil completionBlock:^{
NSLog(@"警告回調(diào)");
}];
}
顯示文字
-(void)showText{
[HUDManager showTextHud:@"這是展示的文字"];
}
-(void)showTextTime{
[HUDManager showTextHud:@"這是展示的文字" afterDelay:2];
}
-(void)showTextView{
[HUDManager showTextHud:@"這是展示的文字" onView:self.view];
}
-(void)showTextTimeView{
[HUDManager showTextHud:@"這是展示的文字" afterDelay:2 onView:self.view];
}
-(void)showTextTimeViewBlock{
[HUDManager showTextHud:@"這是展示的文字" afterDelay:2 onView:self.view completionBlock:^{
NSLog(@"展示的文字回調(diào)");
}];
}
顯示自定義視圖
-(void)showCustomView{
UIImageView *imgView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"warning"]];
[HUDManager showHudCustomView:imgView];
}
-(void)showCustomViewToView{
UIButton *btn = [[UIButton alloc]init];
[btn setTitle:@"自定義按鈕視圖" forState:UIControlStateNormal];
[HUDManager showHudCustomView:btn onView:self.view];
}
-(void)showCustomViewMaskViewToView{
UIImageView *imgView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"warning"]];
[HUDManager showHudCustomView:imgView isShowMaskView:YES onView:self.view];
}
-(void)showCustomViewMaskViewTime{
UIImageView *imgView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"微笑"]];
[HUDManager showHudCustomView:imgView isShowMaskView:YES afterDelay:3];
}
-(void)showCustomViewMaskViewTimeToView{
UILabel *lable = [[UILabel alloc]init];
lable.text = @"自定義leble";
[HUDManager showHudCustomView:lable isShowMaskView:YES afterDelay:2 onView:self.view];
}
-(void)showCustomViewMaskViewTimeViewTextBlock{
UIImageView *imgView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"微笑"]];
[HUDManager showHud:@"自定義視圖" customView:imgView isShowMaskView:YES afterDelay:3 onView:self.view completionBlock:^{
NSLog(@"自定義視圖回調(diào)");
}];
}
顯示自定義按鈕視圖
-(void)showBtnHud{
[HUDManager showHud:@"自定義視圖按鈕" customImgView:nil btnTitle:@"確定" btnFont:[UIFont systemFontOfSize:18] btnTitleColor:nil btnBackColor:nil Target:self action:@selector(clickSure) isShowMaskView:YES afterDelay:3 isHide:YES onView:self.view completionBlock:^{
NSLog(@"自定義帶按鈕的視圖設(shè)置顯示時(shí)間");
}];
}
-(void)clickSure{
[HUDManager hidenHudFromView:self.view];
}
-(void)showBtnHudTime{
UIImageView *imgView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"warning"]];
[HUDManager showHud:@"自定義視圖按鈕" customImgView:imgView btnTitle:@"取消" btnFont:[UIFont systemFontOfSize:18] btnTitleColor:nil btnBackColor:nil Target:self action:@selector(clickCancle) isShowMaskView:YES isHide:NO onView:self.view completionBlock:^{
NSLog(@"自定義帶按鈕的視圖");
}];
}
-(void)clickCancle{
[HUDManager hidenHudFromView:self.view];
}
隱藏
-(void)hidenHud{
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[HUDManager hidenHud];
});
}
-(void)hidenHudFromView{
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[HUDManager hidenHudFromView:self.view];
});
}
自定義默認(rèn)屬性
你可以在程序啟動(dòng)的時(shí)候一次性定義,也可以在使用的時(shí)候臨時(shí)定義,但是如果使用臨時(shí)定義你最好在其他地方使用的時(shí)候也定義,以避免出現(xiàn)提示混亂
/**
設(shè)置加載提示語
@param logingMessage 加載提示語
*/
+ (void)setYWLoadingMessage:(NSString *)logingMessage;
/**
設(shè)置成功提示語
@param successMessage 成功提示語
*/
+ (void)setYWSuccessMessage:(NSString *)successMessage;
/**
設(shè)置成功提示圖片
@param successImgName 成功提示圖片
*/
+ (void)setYWSuccessImgName:(NSString *)successImgName;
/**
設(shè)置失敗提示語
@param failMessage 成功提示語
*/
+ (void)setYWFailMessage:(NSString *)failMessage;
/**
設(shè)置失敗提示圖片
@param failImgName 失敗提示圖片
*/
+ (void)setYWFailImgName:(NSString *)failImgName;
/**
設(shè)置警告提示語
@param warningMessage 警告提示語
*/
+ (void)setYWWarningMessage:(NSString *)warningMessage;
/**
設(shè)置警告提示圖片
@param warningImgName 警告提示圖片
*/
+ (void)setYWWarningImgName:(NSString *)warningImgName;
/**
設(shè)置視圖展示時(shí)間
@param showTime 視圖展示時(shí)間
*/
+ (void)setYWShowTime:(NSTimeInterval)showTime;
/**
設(shè)置遮罩顏色
@param white 遮罩顏色
*/
+(void)setYWWhite:(CGFloat)white;
/**
設(shè)置遮罩透明度
@param alpha 遮罩透明度
*/
+(void)setYWAlpha:(CGFloat)alpha;
在這里給上github地址,歡迎指正






