我为何要对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]; //设置提示显示的时长
效果展现:设计