你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS開發——使用MBProgressHUD來增加用戶體驗

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

編輯:IOS開發綜合

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

MBProgressHUD的使用步驟如下:

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

\

 

(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。

【斷開網絡,就會加載失敗】

\

 

 

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

 

 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved