У меня UISearchController
в FirstViewController
navigationItem
. И то же самое в SecondViewController
, и я нажимаю SecondViewController
из FirstViewController
.
Когда пользователь скользит, чтобы вернуться назад, виден следующий глюк UI.
Область, содержащая UISearchController
, становится тусклой. Если пользователь возвращается к FirstViewController
, это выглядит хорошо. Но если пользователь остается в SecondViewController
после небольшого скольжения, то вот как это выглядит.
Пространство, в котором было searchController
сейчас пусто. Если пользователь прокручивает вверх или вниз, searchController
снова становится видимым.
Параметры пытались решить проблемы
- , используя
UITableViewController
вместо UIViewController
с UITableView
- , переключая свойство
navigationItem.hidesSearchBarWhenScrolling
в viewDidLoad
иviewWillAppear
- установка
navigationItem.searchController
как nil
в viewWillDisappear
Помимо этой проблемы, когда я использую UITableView
внутри UIViewController
, searchController
скрывается под заголовком и выходит с немного большей скоростью, чем родные приложения, такие как «Сообщения», «Почта». И когда я использую UITableViewController
, анимация плавная, но searchController нападает наполовину, если пользователь не скользит вверх или вниз полностью, как показано ниже. Это происходит как с большими заголовками, так и без них.
Мой вариант использования также может быть достигнут, если кто-то может ответить на этот вопрос .
ОБНОВЛЕНИЕ: настройкаextendedLayoutIncludesOpaqueBars
как true
в SecondViewController
действительно решил проблему. Но в представлении таблицы есть небольшой нежелательный рывок, если пользователь скользит, чтобы вернуться, но затем передумает.