你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> 使用cocos2dx

使用cocos2dx

編輯:關於IOS

第三方的等待指示器,MBProgressHUD就是第三方提供的等待指示器框架。下面是MBProgressHUD提供的等待指示器樣式,它們基本可以分為:未知結束時間和已知結束時間兩大類等待指示器,在MBProgressHUD中可以為等待指示器添加標簽和詳細標簽

 

使用cocos2dx-lua開發,免不了自己定義類,但是如何使用自定義的類的?

我們將下載的源文件中的MBProgressHUD.h和MBProgressHUD.m拷貝到自己的工程中,MBProgressHUD依賴的框架有:Foundation.framework、UIKit.framework和CoreGraphics.framework,我們需要將這些框架添加到工程中。

我們為應用添加MBProgressHUD等待指示器,修改主視圖控制器MasterViewController.m的startRequest方法代碼如下,注意加粗部分:

 

-(void)startRequest 
 
{ 
 
    //初始化MBProgressHUD  
 
    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES]; 
 
    hud.mode = MBProgressHUDModeCustomView; 
 
    hud.labelText = @”Loading”; 
 
NSString *strURL = [[NSString alloc] 
 
initWithFormat:@”http://iosbook3/mynotes/webservice.php”];  
 
NSURL *url = [NSURL URLWithString:[strURL URLEncodedString]]; 
 
NSString *post; 
 
if (action == ACTION_QUERY) {//查詢處理  
 
post = [NSString stringWithFormat:@"email=%@&type=%@&action=%@", 
 
@"<你的iosbook1.com用戶郵箱>",@"JSON",@"query"]; 
 
} else if (action == ACTION_REMOVE) {//刪除處理  
 
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; 
 
NSMutableDictionary*  dict = self.listData[indexPath.row]; 
 
post = [NSString stringWithFormat:@"email=%@&type=%@&action=%@&id=%@", 
 
@"<你的iosbook1.com用戶郵箱>",@"JSON",@"remove",[dict objectForKey:@"ID"]]; 
 
} 
 
NSData *postData  = [post dataUsingEncoding:NSUTF8StringEncoding]; 
 
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 
 
[request setHTTPMethod:@"POST"]; 
 
[request setHTTPBody:postData]; 
 
NSURLConnection *connection = [[NSURLConnection alloc] 
 
initWithRequest:request delegate:self]; 
 
if (connection) { 
 
_datas = [NSMutableData new]; 
 
} 
 
} 
 
-(void) connection:(NSURLConnection *)connection didFailWithError: (NSError *)error { 
 
NSLog(@”%@”,[error localizedDescription]); 
 
[MBProgressHUD hideHUDForView:self.view animated:YES]; 
 
} 
 
  
 
- (void) connectionDidFinishLoading: (NSURLConnection*) connection { 
 
NSLog(@”請求完成…”); 
 
NSDictionary* dict = [NSJSONSerialization JSONObjectWithData:_datas 
 
options:NSJSONReadingAllowFragments error:nil]; 
 
if (action == ACTION_QUERY) {//查詢處理  
 
[self reloadView:dict]; 
 
} else if (action == ACTION_REMOVE) {//刪除處理  
 
NSString *message = @”操作成功。”; 
 
NSNumber *resultCodeObj = [dict objectForKey:@"ResultCode"]; 
 
if ([resultCodeObj integerValue] < 0) { 
 
message = [resultCodeObj errorMessage]; 
 
} 
 
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@”提示信息” 
 
message:message 
 
delegate:nil 
 
cancelButtonTitle:@”OK” 
 
otherButtonTitles: nil]; 
 
[alertView show]; 
 
//重新查詢  
 
action = ACTION_QUERY; 
 
[self startRequest]; 
 
} 
 
 [MBProgressHUD hideHUDForView:self.view animated:YES]; 
 
} 

-(void)startRequest

{

    //初始化MBProgressHUD

    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];

    hud.mode = MBProgressHUDModeCustomView;

    hud.labelText = @”Loading”;

NSString *strURL = [[NSString alloc]

initWithFormat:@”http://iosbook3/mynotes/webservice.php”];

NSURL *url = [NSURL URLWithString:[strURL URLEncodedString]];

NSString *post;

if (action == ACTION_QUERY) {//查詢處理

post = [NSString stringWithFormat:@"email=%@&type=%@&action=%@",

@"<你的iosbook1.com用戶郵箱>",@"JSON",@"query"];

} else if (action == ACTION_REMOVE) {//刪除處理

NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];

NSMutableDictionary*  dict = self.listData[indexPath.row];

post = [NSString stringWithFormat:@"email=%@&type=%@&action=%@&id=%@",

@"<你的iosbook1.com用戶郵箱>",@"JSON",@"remove",[dict objectForKey:@"ID"]];

}

NSData *postData  = [post dataUsingEncoding:NSUTF8StringEncoding];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

[request setHTTPMethod:@"POST"];

[request setHTTPBody:postData];

NSURLConnection *connection = [[NSURLConnection alloc]

initWithRequest:request delegate:self];

if (connection) {

_datas = [NSMutableData new];

}

}

-(void) connection:(NSURLConnection *)connection didFailWithError: (NSError *)error {

NSLog(@”%@”,[error localizedDescription]);

[MBProgressHUD hideHUDForView:self.view animated:YES];

}



- (void) connectionDidFinishLoading: (NSURLConnection*) connection {

NSLog(@”請求完成…”);

NSDictionary* dict = [NSJSONSerialization JSONObjectWithData:_datas

options:NSJSONReadingAllowFragments error:nil];

if (action == ACTION_QUERY) {//查詢處理

[self reloadView:dict];

} else if (action == ACTION_REMOVE) {//刪除處理

NSString *message = @”操作成功。”;

NSNumber *resultCodeObj = [dict objectForKey:@"ResultCode"];

if ([resultCodeObj integerValue] < 0) {

message = [resultCodeObj errorMessage];

}

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@”提示信息”

message:message

delegate:nil

cancelButtonTitle:@”OK”

otherButtonTitles: nil];

[alertView show];

//重新查詢

action = ACTION_QUERY;

[self startRequest];

}

 [MBProgressHUD hideHUDForView:self.view animated:YES];

}


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