From 511331ac2ad2224a0fcd935fa93f5ff281748957 Mon Sep 17 00:00:00 2001 From: Jeremy Ellison Date: Wed, 12 Jan 2011 14:51:44 -0500 Subject: [PATCH] call super in viewDidUnload. Only show progress bar if data is not sent all at once. --- .../DBResourceListTableViewController.m | 1 + .../Controllers/UIViewController+RKLoading.m | 19 ++++++++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Examples/RKDiscussionBoardExample/DiscussionBoard/Classes/Controllers/DBResourceListTableViewController.m b/Examples/RKDiscussionBoardExample/DiscussionBoard/Classes/Controllers/DBResourceListTableViewController.m index 845f36b5..3e5fcb14 100644 --- a/Examples/RKDiscussionBoardExample/DiscussionBoard/Classes/Controllers/DBResourceListTableViewController.m +++ b/Examples/RKDiscussionBoardExample/DiscussionBoard/Classes/Controllers/DBResourceListTableViewController.m @@ -36,6 +36,7 @@ } - (void)viewDidUnload { + [super viewDidUnload]; [_loadedAtLabel release]; _loadedAtLabel = nil; diff --git a/Examples/RKDiscussionBoardExample/DiscussionBoard/Classes/Controllers/UIViewController+RKLoading.m b/Examples/RKDiscussionBoardExample/DiscussionBoard/Classes/Controllers/UIViewController+RKLoading.m index c6faef4b..b171125c 100644 --- a/Examples/RKDiscussionBoardExample/DiscussionBoard/Classes/Controllers/UIViewController+RKLoading.m +++ b/Examples/RKDiscussionBoardExample/DiscussionBoard/Classes/Controllers/UIViewController+RKLoading.m @@ -7,28 +7,33 @@ // #import "UIViewController+RKLoading.h" - +#import @implementation UIViewController (RKLoading) - (void)requestDidStartLoad:(RKRequest*)request { UIView* overlayView = [self.view viewWithTag:66]; - UIView* progressView = [self.view viewWithTag:67]; - if (overlayView == nil && progressView == nil) { - overlayView = [[UIView alloc] initWithFrame:self.view.bounds]; + if (overlayView == nil) { + overlayView = [[TTActivityLabel alloc] initWithFrame:self.view.bounds style:TTActivityLabelStyleBlackBox text:@"Loading..."]; overlayView.backgroundColor = [UIColor blackColor]; overlayView.alpha = 0.5; overlayView.tag = 66; - progressView = [[UIProgressView alloc] initWithFrame:CGRectMake(10, 100, 300, 20)]; - progressView.tag = 67; [self.view addSubview:overlayView]; - [self.view addSubview:progressView]; } } - (void)request:(RKRequest*)request didSendBodyData:(NSInteger)bytesWritten totalBytesWritten:(NSInteger)totalBytesWritten totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite { UIProgressView* progressView = (UIProgressView*)[self.view viewWithTag:67]; + if (progressView == nil) { + if (totalBytesWritten >= totalBytesExpectedToWrite) { + // Uploaded all data at once. don't need a progress bar. + return; + } + progressView = [[UIProgressView alloc] initWithFrame:CGRectMake(10, 100, 300, 20)]; + progressView.tag = 67; + [self.view addSubview:progressView]; + } progressView.progress = totalBytesWritten / (float)totalBytesExpectedToWrite; }