iOS - “上传进度视图”,就像新的Facebook应用程序一样

时间:2012-09-07 08:33:46

标签: ios xcode uiview uiviewcontroller

我希望在我的应用中有一个“上传进度视图”。就像新的Facebook应用程序一样。只有在上传进度处于活动状态时,才能看到“上传视图”。

UIView应该可以在我的应用程序中的每个UIViewController上看到。

我可以在AppDelegate中插入“Upload-progress-view”吗?

我正在使用AFNetworking。

/ Morten

截图:

Photo of upload bar

正如您所看到的,它是一个简单的UIView,其中包含UIProgressView。我的问题是如何在每个视图(不同的UIViewControllers)上显示这个进度视图?

2 个答案:

答案 0 :(得分:1)

progressBar可以执行相同的操作。

答案 1 :(得分:0)

您使用 ASIHttpRequest 进行上传吗?

如果是,请查看Cocoa File Upload with Progress Bar

<强>编辑:

好的,请使用此

NSURL *url = [NSURL URLWithString:@"http://api-base-url.com"];
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
NSData *imageData = UIImageJPEGRepresentation([UIImage imageNamed:@"avatar.jpg"], 0.5);
NSMutableURLRequest *request = [httpClient multipartFormRequestWithMethod:@"POST"   path:@"/upload" parameters:nil constructingBodyWithBlock: ^(id <AFMultipartFormData>formData)     {
[formData appendPartWithFileData:imageData name:@"avatar" fileName:@"avatar.jpg" mimeType:@"image/jpeg"];
}];

AFHTTPRequestOperation *operation = [[[AFHTTPRequestOperation alloc] initWithRequest:request] autorelease];
[operation setUploadProgressBlock:^(NSInteger bytesWritten, long long totalBytesWritten, long long totalBytesExpectedToWrite) {
NSLog(@"Sent %lld of %lld bytes", totalBytesWritten, totalBytesExpectedToWrite);
}];
[operation start];

来自GitHub AFNetworking - File Upload with Progress Callback