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];

Другие вопросы по тегам