亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

MBProgressHUD第三方庫使用

2019-11-14 18:43:17
字體:
來源:轉載
供稿:網友

關鍵操作:

 

效果如下:

 

ViewController.h

1 #import <UIKit/UIKit.h>2 #import "MBPRogressHUD.h"3 4 @interface ViewController : UITableViewController<MBProgressHUDDelegate>5 @property (strong, nonatomic) MBProgressHUD *hud;6 @property (copy, nonatomic) NSArray *arrMode;7 @property (copy, nonatomic) NSArray *arrModeName;8 9 @end

ViewController.m

  1 #import "ViewController.h"  2   3 @interface ViewController ()  4 - (void)loadData;  5 - (void)layoutUI;  6 - (void)taskOfIndeterminate;  7 - (void)taskOfDeterminate;  8 - (void)taskOfDeterminateHorizontalBar;  9 - (void)taskOfAnnularDeterminate; 10 - (void)taskOfCustomView; 11 - (void)taskOfText; 12 - (void)showHUDByIndeterminate; 13 - (void)showHUDByDeterminate; 14 - (void)showHUDByDeterminateHorizontalBar; 15 - (void)showHUDByAnnularDeterminate; 16 - (void)showHUDByCustomView; 17 - (void)showHUDByText; 18 @end 19  20 @implementation ViewController 21  22 - (void)viewDidLoad { 23     [super viewDidLoad]; 24      25     [self loadData]; 26     [self layoutUI]; 27 } 28  29 - (void)didReceiveMemoryWarning { 30     [super didReceiveMemoryWarning]; 31     // Dispose of any resources that can be recreated. 32 } 33  34 - (void)loadData { 35     _arrMode = @[ @"MBProgressHUDModeIndeterminate", 36                   @"MBProgressHUDModeDeterminate", 37                   @"MBProgressHUDModeDeterminateHorizontalBar", 38                   @"MBProgressHUDModeAnnularDeterminate", 39                   @"MBProgressHUDModeCustomView", 40                   @"MBProgressHUDModeText" ]; 41      42     _arrModeName = @[ @"UIActivityIndicatorView 來顯示進度,這是默認值", 43                       @"圓形餅圖來顯示進度", 44                       @"水平進度條來顯示進度", 45                       @"圓環來顯示進度", 46                       @"自定義視圖;例如通過這種方式,來顯示一個正確或錯誤的提示圖", 47                       @"只顯示文本" ]; 48 } 49  50 - (void)layoutUI { 51     self.navigationItem.title = @"MBProgressHUD 第三方庫使用"; 52 } 53  54 #pragma mark - MBProgressHUD Additional Task 55 - (void)taskOfIndeterminate { 56     sleep(3); //進程掛起3秒,這里僅僅是模擬,相當于執行了一些操作耗時3秒;sleep 和 usleep 都是進程掛起操作方法,他們的精準度不同,所以按需使用;對于一般秒級別操作,就使用 sleep 方法 57 } 58  59 - (void)taskOfDeterminate { 60     CGFloat progressVal = 0.0f; 61     while (progressVal < 1.0) { 62         progressVal += 0.1; 63         _hud.progress = progressVal; 64         usleep(500000); //千分之一毫秒,即百萬分之一秒;這里設置進程掛起0.5秒 65     } 66 } 67  68 - (void)taskOfDeterminateHorizontalBar { 69     [self taskOfDeterminate]; 70 } 71  72 - (void)taskOfAnnularDeterminate { 73     [self taskOfDeterminate]; 74 } 75  76 - (void)taskOfCustomView { 77     [self taskOfIndeterminate]; 78 } 79  80 - (void)taskOfText { 81     [self taskOfIndeterminate]; 82 } 83  84 #pragma mark - MBProgressHUD 85 - (void)showHUDByIndeterminate { 86     UIColor *color = [UIColor cyanColor]; 87      88     _hud = [[MBProgressHUD alloc] initWithView:self.view]; 89     _hud.activityIndicatorColor = color; //設置指示器顏色;默認為白色 90      91     //label 和 detailsLabel 是公共部分,其他模式的展示效果一樣可以用 92     _hud.labelText = @"加載中..."; 93     _hud.labelFont = [UIFont systemFontOfSize:17]; 94     _hud.labelColor = color; //設置文本顏色;默認為白色 95     _hud.detailsLabelText = @"用戶請稍候,耐心等待"; 96     _hud.detailsLabelFont = [UIFont systemFontOfSize:14]; 97     _hud.detailsLabelColor = color; //設置詳細文本顏色;默認為白色 98      99     //一些額外不常用的設置100     _hud.minShowTime = 5.0f;101     _hud.opacity = 0.5f;102     _hud.animationType = MBProgressHUDAnimationZoomOut;103     _hud.cornerRadius = 15.0f;104     _hud.dimBackground = YES;105     _hud.xOffset = 0.0f;106     _hud.yOffset = 50.0f;107     _hud.margin = 30.0f;108     _hud.square = YES;109     _hud.minSize = CGSizeMake(240.0f, 200.0f); //設置了 minSize 后,square 就失效了110     111     //設置委托,以便調用hudWasHidden:方法112     _hud.delegate = self;113     [self.view addSubview:_hud];114     115     //操作方式一:116     //    [_hud showWhileExecuting:@selector(taskOfIndeterminate)117     //                    onTarget:self118     //                  withObject:nil119     //                    animated:YES];120     121     //操作方式二:122     [_hud showAnimated:YES123    whileExecutingBlock:^{124        [self taskOfIndeterminate];125    } completionBlock:^{126        NSLog(@"showHUDByIndeterminate 執行完成");127    }];128 }129 130 - (void)showHUDByDeterminate {131     _hud = [[MBProgressHUD alloc] initWithView:self.view];132     _hud.mode = MBProgressHUDModeDeterminate;133     [self.view addSubview:_hud];134     135     [_hud showAnimated:YES136    whileExecutingBlock:^{137        [self taskOfDeterminate];138    } completionBlock:^{139        NSLog(@"showHUDByDeterminate 執行完成");140    }];141 }142 143 - (void)showHUDByDeterminateHorizontalBar {144     _hud = [[MBProgressHUD alloc] initWithView:self.view];145     _hud.mode = MBProgressHUDModeDeterminateHorizontalBar;146     [self.view addSubview:_hud];147     148     [_hud showAnimated:YES149    whileExecutingBlock:^{150        [self taskOfDeterminateHorizontalBar];151    } completionBlock:^{152        NSLog(@"showHUDByDeterminateHorizontalBar 執行完成");153    }];154 }155 156 - (void)showHUDByAnnularDeterminate {157     _hud = [[MBProgressHUD alloc] initWithView:self.view];158     _hud.mode = MBProgressHUDModeAnnularDeterminate;159     [self.view addSubview:_hud];160     161     [_hud showAnimated:YES162    whileExecutingBlock:^{163        [self taskOfAnnularDeterminate];164    } completionBlock:^{165        NSLog(@"showHUDByAnnularDeterminate 執行完成");166    }];167 }168 169 - (void)showHUDByCustomView {170     _hud = [[MBProgressHUD alloc] initWithView:self.view];171     _hud.mode = MBProgressHUDModeCustomView;172     _hud.customView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"AlbumCellRedSelected"]];173     [self.view addSubview:_hud];174     175     [_hud showAnimated:YES176    whileExecutingBlock:^{177        [self taskOfCustomView];178    } completionBlock:^{179        NSLog(@"showHUDByCustomView 執行完成");180    }];181 182 }183 184 - (void)showHUDByText {185     UIColor *color = [UIColor cyanColor];186     187     _hud = [[MBProgressHUD alloc] initWithView:self.view];188     _hud.mode = MBProgressHUDModeText;189     _hud.labelText = @"加載中...";190     _hud.labelFont = [UIFont systemFontOfSize:17];191     _hud.labelColor = color; //設置文本顏色;默認為白色192     _hud.detailsLabelText = @"用戶請稍候,耐心等待";193     _hud.detailsLabelFont = [UIFont systemFontOfSize:14];194     _hud.detailsLabelColor = color; //設置詳細文本顏色;默認為白色195     [self.view addSubview:_hud];196 197     [_hud showAnimated:YES198    whileExecutingBlock:^{199        [self taskOfText];200    } completionBlock:^{201        NSLog(@"showHUDByText 執行完成");202    }];203 }204 205 #pragma mark - MBProgressHUDDelegate206 - (void)hudWasHidden:(MBProgressHUD *)hud {207     NSLog(@"隱藏后做一些操作");208 }209 210 #pragma mark - TableView211 - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {212     return @"展示模式列表";213 }214 215 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {216     return 1;217 }218 219 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {220     return _arrMode.count;221 }222 223 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {224     static NSString *cellIdentifier = @"cellIdentifier";225     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];226     if (!cell) {227         cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier];228     }229     230     NSInteger row = indexPath.row;231     cell.textLabel.text = _arrMode[row];232     cell.textLabel.adjustsFontSizeToFitWidth = YES;233     cell.detailTextLabel.text = _arrModeName[row];234     cell.detailTextLabel.adjustsFontSizeToFitWidth = YES;235     236     return cell;237 }238 239 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {240     switch (indexPath.row) {241         case 0:242             [self showHUDByIndeterminate];243             break;244         case 1:245             [self showHUDByDeterminate];246             break;247         case 2:248             [self showHUDByDeterminateHorizontalBar];249             break;250         case 3:251             [self showHUDByAnnularDeterminate];252             break;253         case 4:254             [self showHUDByCustomView];255             break;256         case 5:257             [self showHUDByText];258             break;259     }260     261     NSLog(@"%ld", (long)indexPath.row);262 }263 264 @end

AppDelegate.h

1 #import <UIKit/UIKit.h>2 3 @interface AppDelegate : UIResponder <UIapplicationDelegate>4 5 @property (strong, nonatomic) UIWindow *window;6 @property (strong, nonatomic) UINavigationController *navigationController;7 8 @end

AppDelegate.m

 1 #import "AppDelegate.h" 2 #import "ViewController.h" 3  4 @interface AppDelegate () 5  6 @end 7  8 @implementation AppDelegate 9 10 11 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {12     _window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];13     ViewController *viewController = [[ViewController alloc] init];14     _navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];15     _window.rootViewController = _navigationController;16     //[_window addSubview:_navigationController.view]; //當_window.rootViewController關聯時,這一句可有可無17     [_window makeKeyAndVisible];18     return YES;19 }20 21 - (void)applicationWillResignActive:(UIApplication *)application {22 }23 24 - (void)applicationDidEnterBackground:(UIApplication *)application {25 }26 27 - (void)applicationWillEnterForeground:(UIApplication *)application {28 }29 30 - (void)applicationDidBecomeActive:(UIApplication *)application {31 }32 33 - (void)applicationWillTerminate:(UIApplication *)application {34 }35 36 @end

輸出結果:

 1 2015-07-11 13:48:30.788 MBProgressHUDDemo[7211:111189] 0 2 2015-07-11 13:48:36.090 MBProgressHUDDemo[7211:111189] showHUDByIndeterminate 執行完成 3 2015-07-11 13:48:36.091 MBProgressHUDDemo[7211:111189] 隱藏后做一些操作 4 2015-07-11 13:48:37.378 MBProgressHUDDemo[7211:111189] 1 5 2015-07-11 13:48:43.208 MBProgressHUDDemo[7211:111189] showHUDByDeterminate 執行完成 6 2015-07-11 13:48:44.435 MBProgressHUDDemo[7211:111189] 2 7 2015-07-11 13:48:50.278 MBProgressHUDDemo[7211:111189] showHUDByDeterminateHorizontalBar 執行完成 8 2015-07-11 13:48:51.692 MBProgressHUDDemo[7211:111189] 3 9 2015-07-11 13:48:57.529 MBProgressHUDDemo[7211:111189] showHUDByAnnularDeterminate 執行完成10 2015-07-11 13:48:58.473 MBProgressHUDDemo[7211:111189] 411 2015-07-11 13:49:01.778 MBProgressHUDDemo[7211:111189] showHUDByCustomView 執行完成12 2015-07-11 13:49:02.790 MBProgressHUDDemo[7211:111189] 513 2015-07-11 13:49:06.096 MBProgressHUDDemo[7211:111189] showHUDByText 執行完成

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩一中文字幕| 亚洲精品久久久久久久久| 国内外成人免费激情在线视频网站| 色伦专区97中文字幕| 日韩的一区二区| 国产这里只有精品| 久久久久国产精品免费网站| 91精品综合视频| 亚洲日韩第一页| 亚洲国产精品va在线观看黑人| 日韩国产欧美精品一区二区三区| 欧美电影免费观看| 日韩成人黄色av| 一本色道久久综合亚洲精品小说| 国产精品亚洲片夜色在线| 久久久免费观看视频| 77777亚洲午夜久久多人| 日韩高清中文字幕| 欧美激情视频免费观看| 欧美视频中文在线看| 午夜精品久久久久久久男人的天堂| 欧美午夜丰满在线18影院| 亚洲精品视频免费| 成人国产精品av| 黑人极品videos精品欧美裸| 欧美日韩免费网站| 日韩久久精品电影| 亚洲xxxx妇黄裸体| 在线播放精品一区二区三区| 亚洲欧洲日产国产网站| 欧美激情一区二区三区成人| 91免费看片网站| 中文字幕免费精品一区高清| 久久色精品视频| 日韩色av导航| 91亚洲一区精品| 国产精品视频自在线| 国产一区二区三区18| 久久夜色精品亚洲噜噜国产mv| 国产一区二区在线播放| 伊人久久久久久久久久| 亚洲精品suv精品一区二区| 日韩高清av在线| 欧美黄色片免费观看| 久久69精品久久久久久久电影好| 97视频免费在线观看| 国产69久久精品成人看| 久久国产精品亚洲| 精品久久久久久久久久久久| 亚洲精品日韩欧美| 成人国产精品av| 国产精品a久久久久久| 亚洲精品电影网在线观看| 亚洲精品日韩久久久| 日韩欧美aⅴ综合网站发布| 亚洲欧美变态国产另类| 国产精品海角社区在线观看| 日韩最新免费不卡| 91精品视频免费看| 精品香蕉一区二区三区| 日韩精品在线私人| 91久久久亚洲精品| 欧美日韩在线视频观看| 91高清视频免费| 精品美女国产在线| 97精品国产91久久久久久| 91精品国产色综合久久不卡98口| 国产99视频在线观看| 国色天香2019中文字幕在线观看| 91久久久久久久久久久久久| 欧美午夜激情在线| 午夜精品久久久久久久99热| 日本欧美爱爱爱| 国产精品丝袜高跟| 成人免费高清完整版在线观看| 欧美网站在线观看| 精品成人在线视频| 色综合亚洲精品激情狠狠| 国产网站欧美日韩免费精品在线观看| 日韩精品免费在线视频观看| 成人国产精品一区二区| 亚洲综合在线播放| 国产色婷婷国产综合在线理论片a| 亚洲午夜未满十八勿入免费观看全集| 欧美精品久久久久久久免费观看| 亚洲精品720p| 97不卡在线视频| 国产91在线播放九色快色| 国产亚洲精品久久久优势| 久热国产精品视频| 亚洲成人免费网站| 伊人久久久久久久久久| 日韩一区二区三区在线播放| 国产+人+亚洲| 久久国产精品久久精品| 国产精品久久久久久av福利软件| 国产欧美精品xxxx另类| 国产午夜精品麻豆| 欧美黑人国产人伦爽爽爽| 亚洲一区二区三区在线视频| 欧美一级免费视频| 91精品国产综合久久久久久蜜臀| 欧美黄色三级网站| 日韩av理论片| 91av在线网站| 国产精品www色诱视频| 少妇精69xxtheporn| 国产成人一区二区三区电影| 国产亚洲欧美日韩一区二区| 国产精品揄拍一区二区| 国产性色av一区二区| 欧美大尺度激情区在线播放| 亚洲国产高清福利视频| 97久久精品在线| 日韩精品免费在线| 欧美电影在线观看完整版| 91精品国产91久久久久福利| 26uuu另类亚洲欧美日本一| 久久天天躁狠狠躁夜夜av| 青青在线视频一区二区三区| 一区二区三区国产在线观看| 亚洲成人999| 欧美日韩亚洲国产一区| 成人信息集中地欧美| 日韩一区二区三区xxxx| 久久天天躁狠狠躁夜夜躁2014| 热久久免费视频精品| 国产日韩亚洲欧美| 国内精品小视频| 国产午夜一区二区| 欧美日韩精品国产| 欧美性生交大片免网| 中文字幕日韩在线视频| 国产97色在线|日韩| 欧美成人在线免费| 欧美成人自拍视频| 日韩精品黄色网| 国产91精品在线播放| 国产亚洲一区二区精品| 国产91网红主播在线观看| 九九热这里只有精品6| 韩国v欧美v日本v亚洲| 亚洲日本中文字幕免费在线不卡| 久久国产加勒比精品无码| 久久影院模特热| 久久精品男人天堂| 在线视频一区二区| 91精品国产免费久久久久久| 丝袜美腿亚洲一区二区| 久久手机精品视频| 97久久超碰福利国产精品…| 成人免费淫片aa视频免费| 日韩在线视频观看| 欧美国产日韩二区| 欧美麻豆久久久久久中文| 亚洲免费视频在线观看| 国产主播在线一区| 亚洲精品视频二区| 成人福利网站在线观看11| 欧美理论片在线观看| 国产精品人人做人人爽| 欧美综合在线观看| 亚洲xxxx做受欧美| 国产啪精品视频网站|