我爲何要對MBProgressHUD進行二次封裝?今年新找的這份工做,項目的建立的時間比較早了,2014年建立的項目,項目中如今使用的一些操做提示,既然仍是我剛開始從事iOS開發工做的時候就用到的開源的第三方toast。能夠說這個開源庫的年齡比個人工做年齡都長了,如今早都過期了,並且它的樣式很差看,跟MBProgressHUD差遠了。因此決定對MBProgressHUD進行二次封裝,產出demo,決心說服產品進行替換。git
XBLoadingKit主要封裝了經常使用的幾種提示,包括成功、失敗、警告、loading、長文本消息。github
- (void)showOperationHudWithStatus:(TipStatus)tipStatus{ switch (tipStatus) { case operation_success_status: [MBProgressHUD showSuccess:@"操做成功的提示" toView:self.view]; //成功的提示 break; case operation_fail_status: [MBProgressHUD showError:@"操做失敗的提示" toView:self.view]; //失敗提示 break; case operation_warning_status: [MBProgressHUD showWarning:@"操做遇到了警告" toView:self.view]; //警告提示 break; default: break; } } //網絡加載時的loading - (void)networkLoading{ [MBProgressHUD showMessage:@"loading..." toView:self.view]; dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 5 * NSEC_PER_SEC); dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ // Do something... [MBProgressHUD hideHUDForView:self.view animated:YES]; }); } //顯示長文本提示 - (void)showLongMessage{ [MBProgressHUD showDetailMessage:@"寂寞空庭春欲晚,梨花滿地不開門,昨夜雨疏風驟" toView:self.view delay:2.0]; }
XBLoadingKit提供了兩種樣式。objective-c
/** hud的樣式 - gray_background_style: 灰色背景 - dim_background_style: 黑色背景 */ typedef NS_ENUM(NSInteger, CustomHudStyle) { gray_background_style = 0, dim_background_style, };
若是不進行設置,默認使用的是灰色背景。
能夠經過LoadingStyleManager
這個類提供的方法進行樣式的修改,提示hud的顯示時長的修改。網絡
修改樣式的代碼示例:ide
[[LoadingStyleManager sharedInstance] setHudStyle:dim_background_style];
提示顯示的時長默認是2s,能夠本身根據須要進行修改。
修改提示顯示的時長:spa
[[LoadingStyleManager sharedInstance] setHudShowTime:1.5]; //設置提示顯示的時長
效果展現:
設計