В видео немного сложно увидеть, что происходит, поэтому я попытаюсь объяснить это.https://youtu.be/yOrCJB9yZlg
У меня есть UIViewController
с UITableView
внутри его корневого представления.Связывается через Autolayout
(нет разницы, как это связано: с SuperView или с SafeArea).
SearchBar добавляется так:
let search = UISearchController(searchResultsController: nil)
self.navigationItem.searchController = search
Когда я медленно прокручиваю таблицу, происходит переход междубольшая навигационная панель и компактная навигационная панель, а затем анимация показа в поисковой панели и из нее слишком быстрая.Поисковая панель прыгает в / из навигационной панели вместо плавно открываемой / закрываемойПереход по навигационной панели - это переход между двумя состояниями, большим и компактным, без плавных проходов по среднему полуоткрытому состоянию при медленном перемещении пальца по экрану, как в системных приложениях (почта, телефон, сообщения, контакты и т. д.).
Я сделал пример из пустого проекта, чтобы продемонстрировать проблему;нет никаких изменений в логике навигационной панели или вообще никакой логики.Всего два новых ВК и это странное поведение.
Если я создам пример проекта xCode «Master-Details» и добавлю к нему UISearchController
, он будет работать правильно.Я предполагаю, потому что они использовали UITableViewController
вместо UIViewController
+ UITableView
внутри.
В чем причина этого поведения и как это исправить?