對MBProgressHUD的二次封裝-XBLoadingKit

圖片描述

1、原起

我爲何要對MBProgressHUD進行二次封裝?今年新找的這份工做,項目的建立的時間比較早了,2014年建立的項目,項目中如今使用的一些操做提示,既然仍是我剛開始從事iOS開發工做的時候就用到的開源的第三方toast。能夠說這個開源庫的年齡比個人工做年齡都長了,如今早都過期了,並且它的樣式很差看,跟MBProgressHUD差遠了。因此決定對MBProgressHUD進行二次封裝,產出demo,決心說服產品進行替換。git

2、XBLoadingKit的使用

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

  • 灰白色背景(icon和提示文字是灰色)
  • 黑色背景(icon和提示文字是白色)
/**
 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]; //設置提示顯示的時長

效果展現:
圖片描述設計

3、特別說明

  1. 提示所使用的三個圖標都放在了resource目錄下,是從以前的項目中找出來的,只有@2x圖標,有須要使用的同窗,請找設計師生成對應的@3x圖標。
  2. 若是須要使用其餘樣式的提示,請根據MBProgressHUD的demo本身進行封裝
  3. demo傳送門,歡迎下載使用,提出意見。
相關文章
相關標籤/搜索