diff --git a/Shared/Classes/Controller/LocationSelection/OTLocationSearchTableViewController.m b/Shared/Classes/Controller/LocationSelection/OTLocationSearchTableViewController.m index 62d6863be..e59ca6fdf 100644 --- a/Shared/Classes/Controller/LocationSelection/OTLocationSearchTableViewController.m +++ b/Shared/Classes/Controller/LocationSelection/OTLocationSearchTableViewController.m @@ -63,26 +63,18 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath #pragma mark UISearchResultsUpdating - (void) updateSearchResultsForSearchController:(UISearchController *)searchController { - MKLocalSearchRequest *request = [MKLocalSearchRequest new]; - request.naturalLanguageQuery = searchController.searchBar.text; - request.region = self.mapView.region; - - MKLocalSearch *search = [[MKLocalSearch alloc] initWithRequest:request]; - [search startWithCompletionHandler:^(MKLocalSearchResponse * _Nullable response, NSError * _Nullable error) { - self.matchingItems = response == nil ? @[] : response.mapItems; - if(error == nil) + NSString *query = searchController.searchBar.text; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.300 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{ + if (![query isEqualToString:searchController.searchBar.text]) return; + MKLocalSearchRequest *request = [MKLocalSearchRequest new]; + request.naturalLanguageQuery = query; + request.region = self.mapView.region; + MKLocalSearch *search = [[MKLocalSearch alloc] initWithRequest:request]; + [search startWithCompletionHandler:^(MKLocalSearchResponse * _Nullable response, NSError * _Nullable error) { + self.matchingItems = response == nil ? @[] : response.mapItems; [self.tableView reloadData]; - }]; -} - -- (void)willPresentSearchController:(UISearchController *)searchController { - // do something before the search controller is presented - self.navigationController.navigationBar.translucent = YES; -} - -- (void)willDismissSearchController:(UISearchController *)searchController -{ - self.navigationController.navigationBar.translucent = NO; + }]; + }); } @end diff --git a/Shared/Classes/Controller/LocationSelection/OTLocationSelectorViewController.m b/Shared/Classes/Controller/LocationSelection/OTLocationSelectorViewController.m index 5430336a0..7432df6f7 100644 --- a/Shared/Classes/Controller/LocationSelection/OTLocationSelectorViewController.m +++ b/Shared/Classes/Controller/LocationSelection/OTLocationSelectorViewController.m @@ -74,8 +74,6 @@ - (void)viewDidLoad { [textField.leftView addSubview: leftImage]; } } - self.resultSearchController.hidesNavigationBarDuringPresentation = NO; - self.resultSearchController.dimsBackgroundDuringPresentation = YES; self.definesPresentationContext = YES; self.locationSearchTable.mapView = self.mapView; self.locationSearchTable.pinDelegate = self; diff --git a/Shared/Classes/Settings/OTAppConfiguration.m b/Shared/Classes/Settings/OTAppConfiguration.m index 58bf0a90b..ba9d6b458 100644 --- a/Shared/Classes/Settings/OTAppConfiguration.m +++ b/Shared/Classes/Settings/OTAppConfiguration.m @@ -454,9 +454,27 @@ + (void)configureNavigationControllerAppearance:(UINavigationController*)navigat [OTAppConfiguration configureApplicationAppearance]; navigationController.automaticallyAdjustsScrollViewInsets = NO; - navigationController.navigationBar.backgroundColor = [[ApplicationTheme shared] primaryNavigationBarTintColor]; - navigationController.navigationBar.tintColor = [[ApplicationTheme shared] secondaryNavigationBarTintColor]; - navigationController.navigationBar.barTintColor = [[ApplicationTheme shared] primaryNavigationBarTintColor]; + + UINavigationBar *navigationBar = navigationController.navigationBar; + #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 130000 + if (@available(iOS 13.0, *)) { + UINavigationBarAppearance *navBarAppearance = [UINavigationBarAppearance new]; + [navBarAppearance configureWithOpaqueBackground]; + navBarAppearance.backgroundColor = [[ApplicationTheme shared] primaryNavigationBarTintColor]; + NSDictionary *textAttributes = @{ + NSForegroundColorAttributeName: [[ApplicationTheme shared] secondaryNavigationBarTintColor] + }; + navBarAppearance.titleTextAttributes = textAttributes; + navBarAppearance.largeTitleTextAttributes = textAttributes; + navigationBar.standardAppearance = navBarAppearance; + navigationBar.scrollEdgeAppearance = navBarAppearance; + } else + #endif + { + navigationBar.backgroundColor = [[ApplicationTheme shared] primaryNavigationBarTintColor]; + navigationBar.tintColor = [[ApplicationTheme shared] secondaryNavigationBarTintColor]; + navigationBar.barTintColor = [[ApplicationTheme shared] primaryNavigationBarTintColor]; + } UIFont *selectedTabBarFont = [UIFont fontWithName:@"SFUIText-Bold" size:12]; NSDictionary *selectionTextAttributes = @{NSForegroundColorAttributeName:[[ApplicationTheme shared] backgroundThemeColor], diff --git a/Shared/Storyboards/LocationSelection.storyboard b/Shared/Storyboards/LocationSelection.storyboard index b7d73911e..ef2e93c1d 100644 --- a/Shared/Storyboards/LocationSelection.storyboard +++ b/Shared/Storyboards/LocationSelection.storyboard @@ -1,19 +1,16 @@ - - - + - - + @@ -23,13 +20,13 @@ - +