From 4a93b4475c6361e84e079f06c9e9413b1ea1e1c1 Mon Sep 17 00:00:00 2001 From: Jonas Martinsson Date: Sun, 13 Oct 2013 10:39:29 -0700 Subject: [PATCH 1/5] Fix search bar not retracting properly when cancelling search on iOS 6. --- TableView/MasterViewController.m | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/TableView/MasterViewController.m b/TableView/MasterViewController.m index e3653a2..caa1ed8 100644 --- a/TableView/MasterViewController.m +++ b/TableView/MasterViewController.m @@ -207,7 +207,11 @@ - (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar [aSearchBar resignFirstResponder]; isFiltered = NO; aSearchBar.backgroundColor = [UIColor lightGrayColor]; - [self.tableView setContentOffset:CGPointMake(0,-20) animated:YES]; + if (floor(NSFoundationVersionNumber <= NSFoundationVersionNumber_iOS_6_1)) { + [self.tableView setContentOffset:CGPointMake(0, 44) animated:YES]; + } else { + [self.tableView setContentOffset:CGPointMake(0,-20) animated:YES]; + } [self.tableView reloadData]; } From ea878afd56e4b2b6fdb17e0dde9b92307839acbc Mon Sep 17 00:00:00 2001 From: Jonas Martinsson Date: Sun, 13 Oct 2013 11:13:40 -0700 Subject: [PATCH 2/5] Hide picker view when a run only has one video link. Expand the text view when this is the case. --- TableView/SecondDetailViewController.m | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/TableView/SecondDetailViewController.m b/TableView/SecondDetailViewController.m index d0fbee9..680ea7d 100644 --- a/TableView/SecondDetailViewController.m +++ b/TableView/SecondDetailViewController.m @@ -199,7 +199,18 @@ - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component { - return [[self.run.videoLinks objectForKey:@"PickerItems"] count]; + int numberOfVideoLinks = [[self.run.videoLinks objectForKey:@"PickerItems"] count]; + + if (numberOfVideoLinks == 1) { + pickerView.hidden = YES; + if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) { + runnersInfo.frame = self.view.frame; + } else { + runnersInfo.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height - 44 - 49 - 20); // In iOS 7; the navigation bar (44 points), tab bar (49 points) and status bar (20 points) are considered areas that can display content. Modifying the frame of the text view to not be blocked by any of these. + } + } + + return numberOfVideoLinks; } - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component From be3656cc37b997b37c66f83b0c3fd072208ceb8f Mon Sep 17 00:00:00 2001 From: Jonas Martinsson Date: Sun, 13 Oct 2013 11:14:49 -0700 Subject: [PATCH 3/5] Scroll text view to top when backing out of a run. This to prevent the run information being scrolled down when entering a different run's view. --- TableView/SecondDetailViewController.m | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/TableView/SecondDetailViewController.m b/TableView/SecondDetailViewController.m index 680ea7d..8a5e3f3 100644 --- a/TableView/SecondDetailViewController.m +++ b/TableView/SecondDetailViewController.m @@ -48,10 +48,11 @@ - (void)viewDidLoad UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay target:self action:@selector(play)]; self.navigationItem.rightBarButtonItem = addButton; addButton.tintColor = [UIColor colorWithRed:(25/255.0) green:(200/250.0) blue:(110/255.0) alpha:1]; - - } +- (void)viewWillDisappear:(BOOL)animated { + [runnersInfo scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:YES]; +} - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { From f4d14bac69c88725f8c1db5234d8d33e0cf8f1d0 Mon Sep 17 00:00:00 2001 From: Jonas Martinsson Date: Sun, 13 Oct 2013 11:23:45 -0700 Subject: [PATCH 4/5] Make sure news text view height is correct on iOS 6. --- TableView/HomeViewController.h | 1 + TableView/HomeViewController.m | 4 ++++ TableView/HomeViewController.xib | 5 +++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/TableView/HomeViewController.h b/TableView/HomeViewController.h index e8787a4..72de00e 100644 --- a/TableView/HomeViewController.h +++ b/TableView/HomeViewController.h @@ -13,6 +13,7 @@ { IBOutlet UITextView *homeText; + __weak IBOutlet NSLayoutConstraint *homeTextBottomConstraint; } - (void)checkForWIFIConnection; diff --git a/TableView/HomeViewController.m b/TableView/HomeViewController.m index 3102bdb..c9120a4 100644 --- a/TableView/HomeViewController.m +++ b/TableView/HomeViewController.m @@ -33,6 +33,10 @@ - (void)viewDidLoad [super viewDidLoad]; [self checkReachability]; + + if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) { + homeTextBottomConstraint.constant = 0; // This constraint is only needed on iOS 7. + } } -(void)viewDidAppear:(BOOL)animated{ diff --git a/TableView/HomeViewController.xib b/TableView/HomeViewController.xib index f6cecc0..503f78c 100644 --- a/TableView/HomeViewController.xib +++ b/TableView/HomeViewController.xib @@ -1,13 +1,14 @@ - + - + + From 7c6776fea517c5e870345e3ccbd3bf5541133b3b Mon Sep 17 00:00:00 2001 From: Jonas Martinsson Date: Sun, 13 Oct 2013 13:13:18 -0700 Subject: [PATCH 5/5] Make sure picker view is shown when a run has multiple video links. Resize run comments text field when picker view reappears. --- TableView/SecondDetailViewController.h | 2 +- TableView/SecondDetailViewController.m | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/TableView/SecondDetailViewController.h b/TableView/SecondDetailViewController.h index 75c7985..2123b0b 100644 --- a/TableView/SecondDetailViewController.h +++ b/TableView/SecondDetailViewController.h @@ -17,7 +17,7 @@ IBOutlet UITextView *runnersInfo; IBOutlet UIPickerView *secondPicker; NSUInteger selectedRow; - + CGRect runnersInfoOriginalFrame; } @property (strong, nonatomic) UIView *myView; diff --git a/TableView/SecondDetailViewController.m b/TableView/SecondDetailViewController.m index 8a5e3f3..13375c3 100644 --- a/TableView/SecondDetailViewController.m +++ b/TableView/SecondDetailViewController.m @@ -48,6 +48,8 @@ - (void)viewDidLoad UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay target:self action:@selector(play)]; self.navigationItem.rightBarButtonItem = addButton; addButton.tintColor = [UIColor colorWithRed:(25/255.0) green:(200/250.0) blue:(110/255.0) alpha:1]; + + runnersInfoOriginalFrame = CGRectMake(0, 216, 320, 238); } - (void)viewWillDisappear:(BOOL)animated { @@ -209,6 +211,9 @@ - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSIn } else { runnersInfo.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height - 44 - 49 - 20); // In iOS 7; the navigation bar (44 points), tab bar (49 points) and status bar (20 points) are considered areas that can display content. Modifying the frame of the text view to not be blocked by any of these. } + } else if (numberOfVideoLinks > 1) { + pickerView.hidden = NO; + runnersInfo.frame = runnersInfoOriginalFrame; } return numberOfVideoLinks;