第三方的等待指示器,MBProgressHUD就是第三方提供的等待指示器框架。下面是MBProgressHUD提供的等待指示器样式,它们基 本可以分为:未知结束时间和已知结束时间两大类等待指示器,在MBProgressHUD中可以为等待指示器添加标签和详细标签
10年积累的成都做网站、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有新和免费网站建设让你可以放心的选择与我们合作。
MBProgressHUD的下载地址是https://github.com/matej/MBProgressHUD,我们将下载的源 文件中的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];
- }