получите ссылку на ваш UISearchDisplayController либо через розетку, подключенную к вашему файлу NIB, либо при программном создании панели поиска.Когда у вас есть ссылка, во всех ваших источниках данных и методах делегатов вы можете просто проверить, какой из таблиц передается, и действовать соответствующим образом.Например:
- (void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (aTableView==self.searchDisplayController.searchResultsTableView) {
// do something with the search data source
self.searchDisplayController.active=NO;
}else{
// do something with the regular data Source
}
// present a view or other response to the selected row
}
вот как вы можете создать панель поиска и получить ссылку на UISearchDisplayController
-(UISearchBar *)searchBar{
// Create a search bar
if (searchBar==nil){
UISearchBar *aSearchBar = [[[UISearchBar alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 44.0f)] autorelease];
aSearchBar.autocorrectionType = UITextAutocorrectionTypeNo;
aSearchBar.autocapitalizationType = UITextAutocapitalizationTypeNone;
aSearchBar.keyboardType = UIKeyboardTypeAlphabet;
aSearchBar.barStyle=UIBarStyleBlack;
self.searchBar=aSearchBar;
// Create the search display controller
UISearchDisplayController *aSearchDisplayController = [[UISearchDisplayController alloc] initWithSearchBar:self.searchBar contentsController:self] ;
aSearchDisplayController.searchResultsDataSource = self;
aSearchDisplayController.searchResultsDelegate = self;
aSearchDisplayController.delegate=self;
self.searchDisplayController=aSearchDisplayController;
[aSearchDisplayController release];
}
return searchBar;
}
, а затем добавить ее в свой просмотр таблицыкак это:
self.tableView.tableHeaderView = self.searchBar;
Удачи