Я пытаюсь обновить с UISearchDisplayController
до UISearchController
, но у вас много странных проблем с ним. Текущая проблема заключается в том, что результаты поиска не совпадают с поисковой панелью. В портретном режиме, есть небольшой зазор между SearchBar и первый результат поиска:Результаты поиска не согласованы с поисковой системой для UISearchController
(я цветной фон из Tableview результатов желтый, чтобы показать его продлить)
Для ландшафта режим, обратное верно: Searchbar перекрывает верхнюю часть результатов:
достаточно Strangly, если я затем повернуть изображение с учетом результатов все еще видимый, он получается отлично.
Моя настройка довольно стандартная, с панелью поиска на панели навигации, а результаты поиска - в отдельном UITableViewController
. код в моем оригинальном контроллере представления:
- (void) viewDidLoad
{
[super viewDidLoad];
SearchResults *searchResults = [[SearchResults alloc] init];
searchController = [[UISearchController alloc] initWithSearchResultsController:searchResults];
searchController.searchResultsUpdater = searchResults;
self.navigationItem.titleView = searchController.searchBar;
searchController.hidesNavigationBarDuringPresentation = NO;
searchController.dimsBackgroundDuringPresentation = YES;
self.definesPresentationContext = YES;
}
SearchResults
является стандартным UITableViewController
подкласс, без специального форматирования.
Мои подозрения были в том, что это было из-за неправильного содержимого. В результате, из-за табличного обзора я напечатал их в viewWillLayoutSubviews
, что подтвердило это подозрение.
Как я могу обойти эту очевидную ошибку в UISearchController
?
Примечание: Я попытался использовать любую комбинацию из edgesForExtendedLayout
, automaticallyAdjustsScrollViewInsets
и extendedLayoutIncludesOpaqueBars
для просмотра результатов.
EDIT: Я теперь вошел ошибка с Apple, для этого: https://openradar.appspot.com/radar?id=6138130516148224