iOS進度提示組件SVProgressHUD的使用

簡介


示例圖片.gif

VProgressHUD是簡單易用的顯示器,用于指示一個持續(xù)進行的任務的進度.

使用

SVProgressHUD 作為一個單例(也就是說,它并不需要創(chuàng)建和實例化,你直接調用, 如[SVProgressHUD method]).

使用SVProgressHUD是非常明智的!常用場景:下拉刷新,無限滾動,發(fā)送消息

使用 SVProgressHUD在您的應用程序通??雌饋砗唵?

[SVProgressHUD show];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    // time-consuming task
    dispatch_async(dispatch_get_main_queue(), ^{
        [SVProgressHUD dismiss];
    });
});

顯示 HUD

您可以使用下面的方法中的任意一個來顯示HUD,以及指示任務的狀態(tài):

+ (void)show;
+ (void)showWithStatus:(NSString*)string;

如果您想在HUD指示任務的進度,請使用下列操作之一:

+ (void)showProgress:(CGFloat)progress;
+ (void)showProgress:(CGFloat)progress status:(NSString*)status;

隱藏 HUD

HUD可以用以下方法隱藏:

+ (void)dismiss;
+ (void)dismissWithDelay:(NSTimeInterval)delay;

如果你想顯示多個HUD ,可以使用使用一下方法:

+ (void)popActivity;

該HUD將自動消失, popActivity將與顯示的次數(shù)匹配。

顯示一個提示消息

也可以用于顯示一個提示信息。所述顯示時間取決于給定的字符串的長度( 0.5至5秒)。

+ (void)showInfoWithStatus:(NSString *)string;
+ (void)showSuccessWithStatus:(NSString*)string;
+ (void)showErrorWithStatus:(NSString *)string;
+ (void)showImage:(UIImage*)image status:(NSString*)string;

自定義

SVProgressHUD 可通過下列方法進行個性化定制:

+ (void)setDefaultStyle:(SVProgressHUDStyle)style;                  // 默認是SVProgressHUDStyleLight
+ (void)setDefaultMaskType:(SVProgressHUDMaskType)maskType;         // 默認是SVProgressHUDMaskTypeNone
+ (void)setDefaultAnimationType:(SVProgressHUDAnimationType)type;   // 默認是 SVProgressHUDAnimationTypeFlat
+ (void)setRingThickness:(CGFloat)width;                            // 默認是 2 pt
+ (void)setCornerRadius:(CGFloat)cornerRadius;                      // 默認是 14 pt
+ (void)setFont:(UIFont*)font;                                      // 默認是 [UIFont preferredFontForTextStyle:UIFontTextStyleSubheadline]
+ (void)setForegroundColor:(UIColor*)color;                         // 默認是 [UIColor blackColor], 僅對 SVProgressHUDStyleCustom 有效
+ (void)setBackgroundColor:(UIColor*)color;                         // 默認是 [UIColor whiteColor], 僅對 SVProgressHUDStyleCustom 有效
+ (void)setInfoImage:(UIImage*)image;                               //默認是bundle文件夾中的提示圖片.
+ (void)setSuccessImage:(UIImage*)image;                            // 默認是bundle文件夾中的成功圖片.
+ (void)setErrorImage:(UIImage*)image;                              // 默認是bundle文件夾中的錯誤圖片.
+ (void)setViewForExtension:(UIView*)view;                          // 默認是nil,僅當設置了 #define SV_APP_EXTENSIONS 時有效.

通知

SVProgressHUD通過 NSNotificationCenter注冊4份通知,以響應正在顯示/消失:

SVProgressHUDWillAppearNotification 提示框即將出現(xiàn)
SVProgressHUDDidAppearNotification 提示框已經出現(xiàn)
SVProgressHUDWillDisappearNotification 提示框即將消失
SVProgressHUDDidDisappearNotification 提示框已經消失
每個通知傳遞一個 userInfo字典,字典中包含HUD的狀態(tài)字符串(如果有的話) ,可通過 SVProgressHUDStatusUserInfoKey作為鍵來獲取。

SVProgressHUD還發(fā)送通知:
SVProgressHUDDidReceiveTouchEventNotification當用戶觸摸整體屏幕上 和SVProgressHUDDidTouchDownInsideNotification當用戶直接在HUD接觸。這兩個通知沒有 userInfo參數(shù),但包含了有關的觸摸的UIEvent 參數(shù).

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 題注:實在沒想到什么好標題,只好將就。這個春節(jié)每天的運動量我不知道對于正常人算不算多,對于我實在不輕松,最后腳底長...
    amnesiac閱讀 351評論 0 0
  • Linux install googletest 版權聲明:本文為 cheng-zhi 原創(chuàng)文章,可以隨意轉載,但...
    登龍zZ閱讀 10,091評論 2 7
  • 考慮到家里
    weige_li閱讀 288評論 0 0
  • 今晚在家,我把女兒從托輔接回來,吃完飯,我讓女兒拿出李老師發(fā)的卷子,女兒考得分數(shù)不高,我看了看題,讓女兒說說為什么...
    海浪花_2642閱讀 157評論 0 1

友情鏈接更多精彩內容