Проблема с "нет результатов" по-прежнему проблема. Я нашел на форуме поддержки Apple, что он не реализован таким образом. Поэтому я искал обходные пути. Первое, что вы хотите сделать, это:
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString {
if([searchString length] < 1) [items removeAllObjects];
if ([items count] < 1) {
[controller.searchResultsTableView setBackgroundColor:[UIColor colorWithWhite:0.0 alpha:0.8]];
[controller.searchResultsTableView setRowHeight:800];
}
return YES;
}
Таким образом, вы получаете только одну большую ячейку стола, которая выглядит серой и полупрозрачной. Когда вы перезагрузили searchTableView, вы хотите изменить это обратно:
- (void)gotDataReload {
[self.searchDisplayController.searchResultsTableView reloadData];
[self.searchDisplayController.searchResultsTableView setBackgroundColor:[UIColor whiteColor]];
[self.searchDisplayController.searchResultsTableView setRowHeight:44];
}
Надеюсь, что это поможет следующему, у кого есть эти проблемы.