Просмотр исходного кода

Fix scope bar not notifying on change

Tanner Bennett лет назад: 7
Родитель
Сommit
6d489e72c5
2 измененных файлов с 10 добавлено и 1 удалено
  1. 1 1
      Classes/Core/FLEXTableViewController.h
  2. 9 0
      Classes/Core/FLEXTableViewController.m

+ 1 - 1
Classes/Core/FLEXTableViewController.h

@@ -18,7 +18,7 @@ extern CGFloat const kFLEXDebounceForAsyncSearch;
 /// The least frequent, at just over once per second; for I/O or other expensive operations
 extern CGFloat const kFLEXDebounceForExpensiveIO;
 
-@interface FLEXTableViewController : UITableViewController <UISearchResultsUpdating, UISearchControllerDelegate>
+@interface FLEXTableViewController : UITableViewController <UISearchResultsUpdating, UISearchControllerDelegate, UISearchBarDelegate>
 
 /// A grouped table view. Inset on iOS 13.
 /// 

+ 9 - 0
Classes/Core/FLEXTableViewController.m

@@ -59,6 +59,8 @@ CGFloat const kFLEXDebounceForExpensiveIO = 0.5;
     self.searchController.delegate = (id)self;
     self.searchController.dimsBackgroundDuringPresentation = NO;
     self.searchController.hidesNavigationBarDuringPresentation = NO;
+    /// Not necessary in iOS 13; remove this when iOS 13 is the deployment target
+    self.searchController.searchBar.delegate = self;
     
     if (@available(iOS 11.0, *)) {
         self.navigationItem.searchController = self.searchController;
@@ -173,4 +175,11 @@ CGFloat const kFLEXDebounceForExpensiveIO = 0.5;
     }
 }
 
+#pragma mark UISearchBarDelegate
+
+/// Not necessary in iOS 13; remove this when iOS 13 is the deployment target
+- (void)searchBar:(UISearchBar *)searchBar selectedScopeButtonIndexDidChange:(NSInteger)selectedScope {
+    [self updateSearchResultsForSearchController:self.searchController];
+}
+
 @end