1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        DMProgressHUDiOS進(jìn)度加載提示工具

        聯(lián)合創(chuàng)作 · 2023-09-26 12:35

        一、簡介

        DMProgressHUD是一款用于顯示異步操作任務(wù)進(jìn)度狀態(tài)的視圖工具。
        該工具包含了目前較為主流的加載狀態(tài)視圖類型,后續(xù)會根據(jù)具體情況或需求進(jìn)行迭代。
        DMProgressHUD從設(shè)計層次的角度來看,其包含了5種展示模式:

        1. Loading(加載中相關(guān));

        2. Progress(進(jìn)度具體值相關(guān));

        3. Status(狀態(tài)相關(guān),例如成功、失敗等提示);

        4. Text(文字提示相關(guān));

        5. Custom(自定義視圖相關(guān))。

        二、導(dǎo)入(Platform : ios >= 8.0)

        方案1:CocoaPods

        1. 在Podfile文件加入 pod 'DMProgressHUD';

        2. 在終端輸入 pod install;

        3. 在需要使用的地方導(dǎo)入頭文件 #import <DMProgressHUD.h>。

        方案2:直接導(dǎo)入到工程

        1. 把DMProgressHUD.h、DMProgressHUD.m和DMProgressImgs.bundle(圖片資源bundle)導(dǎo)入到工程目錄下;

        2. 在需要使用的地方導(dǎo)入頭文件 #import "DMProgressHUD.h"。

        三、快捷調(diào)用

        注意:快捷調(diào)用使用默認(rèn)的樣式(Style-Dark)、動畫(Animation-gradient)、遮蓋(Mask-None)。

        1.Loading Mode

        1.1 Loading-Indicator

        loading_indicator.gif

        loading_indicator.gif

            DMProgressHUD *hud = [DMProgressHUD showLoadingHUDAddedTo:self.view];
            //hud.loadingType = DMProgressHUDLoadingTypeIndicator;//默認(rèn)
            hud.text = @"Here's info";
            
            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
                //異步耗時操作
                [self doSomething];
                
                dispatch_async(dispatch_get_main_queue(), ^{
                    //返回主線程隱藏HUD
                    [hud dismiss];
                });
            });

        1.2 Loading-Circle

        loading_circle_.gif

        loading_circle_.gif

            DMProgressHUD *hud = [DMProgressHUD showLoadingHUDAddedTo:self.view];
            hud.loadingType = DMProgressHUDLoadingTypeCircle;
            hud.text = @"Here's info";
            
            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
                //異步耗時操作
                [self doSomething];
                
                dispatch_async(dispatch_get_main_queue(), ^{
                    //返回主線程隱藏HUD
                    [hud dismiss];
                });
            });

        2.Progress Mode

        2.1 Progress-Circle

        progress_circle.gif

        progress_circle.gif

            DMProgressHUD *hud = [DMProgressHUD showProgressHUDAddedTo:self.view];
            //hud.progressType = DMProgressHUDProgressTypeCircle;//默認(rèn)
            hud.text = @"Here's info";
            
            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
                //異步耗時操作
                [self doSomething];
                
                dispatch_async(dispatch_get_main_queue(), ^{
                    //返回主線程隱藏HUD
                    [hud dismiss];
                });
            });

        2.2 Progress-Sector

        progress_sector.gif

        progress_sector.gif

            DMProgressHUD *hud = [DMProgressHUD showProgressHUDAddedTo:self.view];
            hud.progressType = DMProgressHUDProgressTypeSector;
            hud.text = @"Here's info";
            
            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
                //異步耗時操作
                [self doSomething];
                
                dispatch_async(dispatch_get_main_queue(), ^{
                    //返回主線程隱藏HUD
                    [hud dismiss];
                });
            });

        3.Status Mode

        3.1 Success

        status_success.gif

        status_success.gif

            DMProgressHUD *hud = [DMProgressHUD showStatusHUDAddedTo:self.view statusType:DMProgressHUDStatusTypeSuccess];
            hud.text = @"Here's info";
            
            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
                //異步耗時操作
                [self doSomething];
                
                dispatch_async(dispatch_get_main_queue(), ^{
                    //返回主線程隱藏HUD
                    [hud dismiss];
                });
            });

        3.2 Fail

        status_fail.gif

        status_fail.gif

            DMProgressHUD *hud = [DMProgressHUD showStatusHUDAddedTo:self.view statusType:DMProgressHUDStatusTypeFail];
            hud.text = @"Here's info";
            
            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
                //異步耗時操作
                [self doSomething];
                
                dispatch_async(dispatch_get_main_queue(), ^{
                    //返回主線程隱藏HUD
                    [hud dismiss];
                });
            });

        3.3 Warning

        status_warning.gif

        status_warning.gif

            DMProgressHUD *hud = [DMProgressHUD showStatusHUDAddedTo:self.view statusType:DMProgressHUDStatusTypeWarning];
            hud.text = @"Here's info";
            
            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
                //異步耗時操作
                [self doSomething];
                
                dispatch_async(dispatch_get_main_queue(), ^{
                    //返回主線程隱藏HUD
                    [hud dismiss];
                });
            });

        4.Text Mode

        4.1 Text

        text.gif

        text.gif

            DMProgressHUD *hud = [DMProgressHUD showTextHUDAddedTo:self.view];
            hud.text = @"Here's info";
            
            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
                //異步耗時操作
                [self doSomething];
                
                dispatch_async(dispatch_get_main_queue(), ^{
                    //返回主線程隱藏HUD
                    [hud dismiss];
                });
            });

        5.Custom Mode

        5.1 Custom

        custom.gif

        custom.gif

            DMProgressHUD *hud = [DMProgressHUD showHUDAddedTo:self.view];
            hud.mode = DMProgressHUDModeCustom;//指定模式為自定義模式
            hud.text = @"Here's info";
            UIView *custom = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"person"]];
            [hud setCustomView:custom width:180.0 height:180.0];//自定義View
            
            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
                //異步耗時操作
                [self doSomething];
                
                dispatch_async(dispatch_get_main_queue(), ^{
                    //返回主線程隱藏HUD
                    [hud dismiss];
                });
            });

        四、更多

        1. 關(guān)于調(diào)用:DMProgressHUD為調(diào)用者提供了快捷調(diào)用的方法,另外還提供了一些與額外功能相關(guān)的初始化方法供調(diào)用者使用;

        2. 關(guān)于外觀:DMProgressHUD提供兩種外觀樣式,對應(yīng)分別是Dark/Light;

        3. 關(guān)于動畫:DMProgressHUD默認(rèn)使用顏色漸變(alpha)動畫進(jìn)行顯示/隱藏,另外還有增量式動畫和彈性動畫供使用者選擇;

        4. 關(guān)于遮蓋:DMProgressHUD默認(rèn)不使用遮蓋,另外提供透明遮蓋和灰色遮蓋供使用者選擇;

        以上所列舉關(guān)于DMProgressHUD的功能介紹,用戶都可以 運(yùn)行Demo 查看到相應(yīng)的效果。除此之外,用戶還可以對HUD的 圖文間距、顏色等 進(jìn)行自定義,可以在 DMProgressHUD.h 文件查看更多的API詳細(xì)介紹。

        由于時間倉促,本人技術(shù)水平有限,出現(xiàn)錯誤或疏漏之處請批評指正,也可以在下方留言或發(fā)送Email至[email protected]。

        Github地址:DMProgressHUD

        瀏覽 17
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            久久久久久少妇 | 亚洲精品成人7777777 | 三级片视频网站 | 五月丁香香蕉 | 情瘾出轨h好爽 | 成人亚洲AV无码专区一区丁香 | 四川一级婬片A片AAA毛片软件 | 免费观看全黄做爰大片现在 | 一级一级毛片 | 一区二区三区不卡在线 |