iOS開發——使用MBProgressHUD來增加使用者體驗

來源:互聯網
上載者:User

iOS開發——使用MBProgressHUD來增加使用者體驗

對於移動用戶端應用來說,本身就非常注意使用者體驗,比如一個長時間的載入造成介面卡死,MBProgressHUD就可以協助你解決該問題。MBProgressHUD可以在網頁載入、下載等耗時操作中給予使用者以提示。HUD的本意就是抬頭顯示功能。今天我們就嘗試來使用MBProgressHUD這個強大的第三方庫(感謝)。MBProgressHUD在Github的地址:https://github.com/jdg/MBProgressHUD 。裡面已經包含了較多的程式碼範例,大家可以根據自己的需求使用。 但是個人覺得直接使用MBProgressHUD有一點點複雜,然而也剛剛在網上發現有其他大神(不認識是誰,感謝)對MBProgressHUD做了封裝,使用起來更加的方便,我也寫了部分樣本,上傳至: https://github.com/chenyufeng1991/UseMBProgressHUD 。

MBProgressHUD的使用步驟如下:

(1)首先我從網上下載了別人封裝好的MBProgressHUD庫,共有5個檔案,大家也可以直接從My Code中進行拷貝。

 

(2)同時我做了一個網路請求,使用AFNetworking來完成號碼歸屬地的GET請求(可能由於伺服器原因,本身該請求就耗時很久,正好可以來測試MBProgressHUD)。強烈建議大家學會Cocoapods和AFnetworking,關於Cocoapods和AFNetworking,可以參考《iOS開發——網路請求案例匯總(AFNetworking)》、《iOS包管理工具Cocoapods的安裝與使用》兩篇部落格。

我在介面上放了一個按鈕,點擊按鈕進行網路請求。代碼如下:(請注意注釋。。。)

主要是[MBProgressHUD showMessage],[MBProgressHUD hideHUD],[MBProgressHUD showSuccess],[MBProgressHUD showError]四個方法的使用。

 

#import ViewController.h#import #import MBProgressHUD+MJ.h@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {  [super viewDidLoad];}- (IBAction)buttonPressed:(id)sender {  //在一開始進行網路請求的時候,彈出MBProgressHUD;  [MBProgressHUD showMessage:@正在載入。。。];  AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];  manager.responseSerializer             = [AFHTTPResponseSerializer serializer];  //這裡改成POST,就可以進行POST請求;  //把要傳遞的參數直接放到URL中;而不是放到字典中;  [manager GET:@http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo?mobileCode=18888888888&userId=    parameters:nil       success:^(AFHTTPRequestOperation *operation,id responseObject){         NSString *string                       = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];         NSLog(@成功: %@, string);         //網路請求成功,隱藏上述的“正在載入”的MBProgressHUD;         [MBProgressHUD hideHUD];         //同時彈出“載入成功”的提示;         [MBProgressHUD showSuccess:@載入成功];       }       failure:^(AFHTTPRequestOperation *operation,NSError *error){         NSLog(@失敗: %@, error);         //網路請求失敗,隱藏上述的“正在載入”的MBProgressHUD;         [MBProgressHUD hideHUD];         //同時彈出“載入失敗”的提示;         [MBProgressHUD showError:@載入失敗];       }];  }@end


 

(3)運行程式,效果如下:

【載入過程】

【大概過幾秒,就會請求成功】

11。

【斷開網路,就會載入失敗】

 

 

當然,你也可以根據自己的需求修改參數,文本。最好是查看源碼,這樣使用起來就會更加隨心所欲。

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.