2

Я создал программу поиска и добавил ее в вид плитки на панели навигации. Это мой код:Методы UISearchController, которые не называются

UISearchController *searchController = [[UISearchController alloc] initWithSearchResultsController:self]; 
searchController.dimsBackgroundDuringPresentation = YES; 
// Use the current view controller to update the search results. 
searchController.searchResultsUpdater = self; 
//Setting Style 
searchController.searchBar.barStyle = UIBarStyleBlack; 
searchController.searchBar.barTintColor = [UIColor colorWithRed:49.0/255.0 green:49.0/255.0 blue:61.0/255.0 alpha:1.0]; 
searchController.searchBar.backgroundImage = [UIImage imageNamed:@"BG"]; 
searchController.searchBar.placeholder = @"Search Artists, Songs, Albums etc."; 
searchController.searchBar.keyboardAppearance = UIKeyboardAppearanceDark; 
self.definesPresentationContext = YES; 
self.navigationItem.titleView = searchController.searchBar; 
searchController.delegate = self; 
searchController.searchBar.delegate = self; 

[searchResultsTableView reloadData]; 


-(BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar{ 
NSLog(@"Halp.jpg"); 
return YES; 
} 

Этот метод выше, а также все другие методы не вызываются. Мой заголовок выглядит следующим образом:

<UISearchResultsUpdating, UITableViewDelegate, UISearchControllerDelegate, UISearchBarDelegate, UITableViewDataSource> 
+0

ничего не делал, все еще ведет себя точно так же –

ответ

0

Проблема, вероятно, связано с этой линии:

searchController.searchBar.delegate = self; 

Я подозреваю, что UISearchController устанавливает себя в качестве делегата UISearchBar, поэтому установка сам портит вещи в некоторых путь.

Смежные вопросы