`

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

阅读更多

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

 

 

910

 

 

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

}

 

分享到:
评论

相关推荐

    IOS应用源码之【类库与框架】-MBProgressHUD.rar

    在iOS开发中,为应用程序添加进度指示器是一项常见的需求,MBProgressHUD就是这样一款强大的加载指示器库,它为开发者提供了优雅、简洁的方式来显示进度条或者提示信息。这个压缩包“【类库与框架】-MBProgressHUD....

    【类库与框架】-MBProgressHUD.7z

    【类库与框架】-MBProgressHUD 是一个用于 iOS 开发中的进度指示器库,它提供了一种优雅、简洁的方式来展示应用程序的加载进度或者用户操作的反馈。MBProgressHUD 的设计目标是简化传统 HUD(Head Up Display)的...

    swift-基于MBProgressHUD的二次封装一行代码调用易于维护

    在iOS应用开发中,UI反馈是提升用户体验的关键因素之一,特别是在执行耗时操作时,进度条视图(如MBProgressHUD)的使用能有效告知用户系统状态,避免用户在等待过程中感到迷茫或不耐烦。Swift语言提供了多种实现...

    MBProgressHUD二次封装

    MBProgressHUD是一个广泛使用的iOS加载指示器库,它提供了一种简单的方式来显示进度指示或者活动指示,而XJProgressHUD则可能是基于MBProgressHUD进行的自定义封装。 首先,我们需要理解MBProgressHUD的基本功能。...

    iOS项目-object-c-仿网易新闻项目.zip

    - 开源库如SDWebImage用于图片加载,MBProgressHUD用于加载指示器,可能还有一些其他工具类库简化开发工作。 综上所述,"iOS项目-object-c-仿网易新闻项目.zip"提供了学习和实践Objective-C iOS开发的宝贵资源,...

    MBProgressHUD

    MBProgressHUD是一款在iOS平台上广泛使用的进度指示器框架,它提供了一种优雅的方式来显示应用程序的加载进度或后台操作状态。这个框架的出现,使得开发者能够轻松地在应用中集成各种类型的加载指示器,比如圆形...

    ios网络加载中

    总结来说,"ios网络加载中"涉及的知识点包括:URLSession的使用、加载指示器的实现(如MBProgressHUD)、网络连接状态的检测(如Reachability)以及用户体验优化策略。理解和掌握这些知识点,能帮助开发者创建出更高...

    (0016)-iOS/iPhone/iPAD/iPod源代码-指示器(HUD)-Progress HUD

    在iOS开发中,常见的库如MBProgressHUD、SVProgressHUD和ProgressHUD等,提供了便捷的API来集成这些指示器。这些库通常支持异步操作,可以轻松地与网络请求、数据库操作等结合使用。通过这些库,开发者可以在执行...

    IOS应用源码——位于界面正中央透明层的loading效果.zip

    4. **异步操作与更新UI**: iOS应用中的加载指示器通常与网络请求、数据库操作或其他耗时任务相结合。开发者需要理解如何在后台线程执行这些任务,同时在主线程上更新UI,以避免阻塞用户界面。GCD(Grand Central ...

    phphub-ios-master.zip_ios app

    9. **第三方库集成**:iOS应用开发经常利用CocoaPods或Carthage这样的依赖管理工具来引入和管理第三方库,例如AFNetworking用于网络请求,MBProgressHUD用于加载指示器等。 10. **单元测试与自动化测试**:为了保证...

    IOS应用源码——vspader-cog-1ced318eedcd.rar

    - 项目可能包含了CocoaPods或Carthage等依赖管理工具,用于引入第三方库,如AFNetworking、Alamofire(网络请求)、MBProgressHUD(加载指示器)等。 总之,"VSPaderCog"项目的源码分析将涉及iOS应用架构、编程...

    ios-弱提示.zip

    在iOS应用开发中,用户界面的交互体验是至关重要的,其中一种常见的提升用户体验的方式就是使用“弱提示”或“加载指示器”。弱提示通常用于显示短暂的信息,如网络请求、数据加载等,以告知用户系统正在进行后台...

    ios应用源码之感恩---奉上大量samplecode(第一部分) samplecode1 2018128

    6. **第三方库集成**:许多开源库如Alamofire(网络请求)、MBProgressHUD(加载指示器)等,可以提升开发效率。样例代码可能包括这些库的集成和使用。 7. **多线程**:GCD(Grand Central Dispatch)或Operation...

    iOS-Applied-Engineering-App:iOS应用工程应用程序的源代码

    在项目中,可能会发现一些流行的第三方库,如RxSwift(响应式编程)、Kingfisher(图片缓存)或MBProgressHUD(加载指示器)等。 7. **动画和手势识别**:iOS SDK提供了丰富的动画效果和手势识别功能。源代码可能...

    iPhone编程好看的等待状态

    等待状态(通常称为活动指示器或加载指示器)可以向用户表明应用程序正在处理数据,防止用户感到应用卡顿或者无响应。本教程将深入探讨如何在Xcode中实现各种美观的等待状态,提升用户界面的交互性和专业性。 首先...

    IOS应用源码之azamsharp-Space-Demon-1456763.zip

    此外,第三方库如Alamofire(网络请求)、MBProgressHUD(加载指示器)也可能被引入。检查Podfile或Carthage文件可了解具体使用的库,理解它们如何简化开发过程。 4. **编程模式**:源码可能会采用MVC(模型-视图-...

    tasks-ui-ios-app-frontend:大学分配一门学科现代计算机系统构建的应用问题

    通过它,我们可以方便地集成第三方库,如Alamofire用于网络请求,MBProgressHUD用于加载指示器,或者SnapKit用于Swift中的AutoLayout简化布局。执行“pod install”会根据Podfile文件下载并安装所需的库,确保项目的...

    UI基础(提示框).pdf

    - 提示框(如MBProgressHUD)用于在应用执行耗时操作时给予用户反馈,通常显示为加载中的指示器。 2. MBProgressHUD使用及特点 - MBProgressHUD是一个用于显示一个或多个进度指示器的库,也可以显示消息。 - 它...

    IOS应用源码——safetyscissors-Harvey-Vs-The-Bad-Bits-d85bc81.rar

    3. **框架与库**:iOS应用常常依赖Apple提供的各种系统框架,如UIKit、Foundation、CoreData等,以及第三方库如Alamofire(网络请求)、MBProgressHUD(加载指示器)、RxSwift(响应式编程)等,这些库通过CocoaPods...

Global site tag (gtag.js) - Google Analytics