iOS 第三方架構-MBProgressHUD

來源:互聯網
上載者:User

標籤:

MBProgressHUD提示框官網地址:https://github.com/jdg/MBProgressHUD

官網裡已經提供了足夠多的例子供我們使用,但在實現開發中,我們用到的只是其中的一小部分而已。為了使用更方便,下面對它進行擴充(Category)

MBProgressHUD+NJ.h

#import "MBProgressHUD.h"@interface MBProgressHUD (NJ)+ (void)showSuccess:(NSString *)success;+ (void)showSuccess:(NSString *)success toView:(UIView *)view;+ (void)showError:(NSString *)error;+ (void)showError:(NSString *)error toView:(UIView *)view;+ (MBProgressHUD *)showMessage:(NSString *)message;+ (MBProgressHUD *)showMessage:(NSString *)message toView:(UIView *)view;+ (void)hideHUD;+ (void)hideHUDForView:(UIView *)view;@end

MBProgressHUD+NJ.m

#import "MBProgressHUD+NJ.h"@implementation MBProgressHUD (NJ)/** *  顯示資訊 * *  @param text 資訊內容 *  @param icon 表徵圖 *  @param view 顯示的視圖 */+ (void)show:(NSString *)text icon:(NSString *)icon view:(UIView *)view{    if (view == nil) view = [[UIApplication sharedApplication].windows lastObject];    // 快速顯示一個提示資訊    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:view animated:YES];    hud.labelText = text;    // 設定圖片    hud.customView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"MBProgressHUD.bundle/%@", icon]]];    // 再設定模式    hud.mode = MBProgressHUDModeCustomView;        // 隱藏時候從父控制項中移除    hud.removeFromSuperViewOnHide = YES;        // 1秒之後再消失    [hud hide:YES afterDelay:0.7];}/** *  顯示成功資訊 * *  @param success 資訊內容 */+ (void)showSuccess:(NSString *)success{    [self showSuccess:success toView:nil];}/** *  顯示成功資訊 * *  @param success 資訊內容 *  @param view    顯示資訊的視圖 */+ (void)showSuccess:(NSString *)success toView:(UIView *)view{    [self show:success icon:@"success.png" view:view];}/** *  顯示錯誤資訊 * */+ (void)showError:(NSString *)error{    [self showError:error toView:nil];}/** *  顯示錯誤資訊 * *  @param error 錯誤資訊內容 *  @param view  需要顯示資訊的視圖 */+ (void)showError:(NSString *)error toView:(UIView *)view{    [self show:error icon:@"error.png" view:view];}/** *  顯示錯誤資訊 * *  @param message 資訊內容 * *  @return 直接返回一個MBProgressHUD,需要手動關閉 */+ (MBProgressHUD *)showMessage:(NSString *)message{    return [self showMessage:message toView:nil];}/** *  顯示一些資訊 * *  @param message 資訊內容 *  @param view    需要顯示資訊的視圖 * *  @return 直接返回一個MBProgressHUD,需要手動關閉 */+ (MBProgressHUD *)showMessage:(NSString *)message toView:(UIView *)view {    if (view == nil) view = [[UIApplication sharedApplication].windows lastObject];    // 快速顯示一個提示資訊    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:view animated:YES];    hud.labelText = message;    // 隱藏時候從父控制項中移除    hud.removeFromSuperViewOnHide = YES;    // YES代表需要蒙版效果    hud.dimBackground = YES;    return hud;}/** *  手動關閉MBProgressHUD */+ (void)hideHUD{    [self hideHUDForView:nil];}/** *  手動關閉MBProgressHUD * *  @param view    顯示MBProgressHUD的視圖 */+ (void)hideHUDForView:(UIView *)view{    if (view == nil) view = [[UIApplication sharedApplication].windows lastObject];    [self hideHUDForView:view animated:YES];}@end

我們可以看到上面的代碼,還引用了表徵圖。直接把表徵圖拷過去,最後的源碼裡有提供。項目結構:

使用方法很非常的簡單。

彈框顯示成功:

[MBProgressHUD showSuccess:@"測試showSuccess"];

彈框顯示失敗:

[MBProgressHUD showError:@"測試showError"];

彈框顯示載入中:

    [MBProgressHUD showMessage:@"正在載入資料中....."];        // 幾秒後消失,當然,這裡可以改為網路請求    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{                // 移除HUD        [MBProgressHUD hideHUD];                // 提醒有沒有新資料        [MBProgressHUD showError:@"沒有新資料"];    });

部分

 源碼下載:http://pan.baidu.com/s/1eQhN7VW

 

iOS 第三方架構-MBProgressHUD

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.