Я создал UISearchController
так:Дополнительное пространство в верхней части UITableView UISearchController в
searchResultsController = SearchResultsController()
searchController = UISearchController(searchResultsController: searchResultsController)
searchController.searchResultsUpdater = self
searchController.hidesNavigationBarDuringPresentation = false
searchController.dimsBackgroundDuringPresentation = true
searchController.searchBar.searchBarStyle = .minimal
searchController.delegate = self
definesPresentationContext = true
navigationItem.titleView = searchController.searchBar
SearchResultsController
просто-контроллер с UITableView
, чтобы показать результаты поиска.
Когда устройство находится в портретном, начать поиск в портретном режиме, есть дополнительное пространство в верхней части представления таблицы (заголовок РЕЗУЛЬТАТ является началом представления таблицы)
Тогда если я поворачиваю в ландшафтном режиме, пространство исчезло:
Когда устройство находится в ландшафтном режиме, и я начинаю поиск, то табличное отрезан:
Тогда, если я поворачиваю к портрету, вид таблицы идеально подходит:
Дополнительная высота пространство точно такой же, как высота строки состояния. Поэтому я удивляюсь, что здесь есть что-то, что связано со статусом.
Этого не произошло, если я назначил поисковую панель в виде таблицы tableHeaderView
. Это происходит только в том случае, если панель поиска находится в заголовке навигации. Кто-нибудь знает, почему?
мат, проверить этот ответ http://stackoverflow.com/questions/39318740/strange-white-space-at-uitableview-header-when-using- uisearchcontroller-with-uit Это помогло мне. –
Этот ответ исправил мою проблему: https://stackoverflow.com/a/28722390/742298 –