UISearchController показывает полноэкранный режим вместо всплывающего на iPad
Я хочу создать поисковый элемент управления, такой как приложение карты; поиск открывает таблицу результатов (которая отлично работает) на iPhone и должен открывать таблицу во всплывающем окне на iPad. Раньше это было автоматически в UISearchDisplayController
но больше не работает и показывает полноэкранный просмотр таблицы на iPad.
self.resultsController = [[EFResultTableViewController alloc] init];
[self.resultsController.tableView setDelegate:(id<UITableViewDelegate>)self];
self.searchController =
[[UISearchController alloc] initWithSearchResultsController:self.resultsController];
[self.searchController setSearchResultsUpdater:(id<UISearchResultsUpdating>)self];
self.searchController.dimsBackgroundDuringPresentation = NO;
self.searchController.hidesNavigationBarDuringPresentation = NO;
[self.searchController.searchBar setBarTintColor:[UIColor whiteColor]];
[self.searchController.searchBar setDelegate:(id<UISearchBarDelegate>)self];
self.definesPresentationContext = YES;
ResultTableViewController
это просто индивидуальный просмотр таблицы. Я не хочу писать IS_IPAD
условный код. Есть ли что-то, что я здесь скучаю?
1 ответ
Решение
Решение было довольно простым, вам нужно установить стиль на контроллере, он показывает обычный список на iPhone и всплывающее окно на iPad автоматически.
[self.searchController setModalPresentationStyle:UIModalPresentationPopover];