温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

iOS网络编程-MBProgressHUD等待指示器

发布时间:2020-09-12 10:13:15 阅读:1863 作者:tony关东升 栏目:移动开发
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

第三方的等待指示器,MBProgressHUD就是第三方提供的等待指示器框架。下面是MBProgressHUD提供的等待指示器样式,它们基 本可以分为:未知结束时间和已知结束时间两大类等待指示器,在MBProgressHUD中可以为等待指示器添加标签和详细标签

 

iOS网络编程-MBProgressHUD等待指示器iOS网络编程-MBProgressHUD等待指示器

 

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];  } 

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×