Если коротко, у меня есть контроллер основного вида, у которого скрыта панель навигации, из контроллера навигации этого VC я нажимаю другой контроллер вида, у которого видна панель навигации. Затем я добавляю searchController в навигационный элемент, чтобы добавить панель поиска при прокрутке вниз. Все работает нормально, пока вы не проведете пальцем по экрану.
Панель навигации анимируется, покидая экран вместе с ВК, но панель поиска анимируется так, как будто она поднимается на место. Что еще хуже, если я отменю свайп, чтобы выскочить, весь SearchBar исчезнет, и вместо этого появится черный вид (я думаю, что фон searchController теперь любой фон просмотра).
Я перепробовал все, это всего несколько строк кода, но я дергал себя за решение этой проблемы. Я знаю, что могу просто отключить свайп для всплывающего окна, но я не хочу этого (+ даже при повторном нажатии кнопки SearchBar таким же странным образом), и я не хочу добавлять панель поиска любым другим способом.
В прикрепленном видео я просто проведу пальцем, чтобы показать анимацию.
- (void)viewDidLoad {
[super viewDidLoad];
self.definesPresentationContext = YES;
[self.navigationController setNavigationBarHidden:NO];
if (@available(iOS 11.0, *)) {
self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
_searchController.delegate = self;
_searchController.searchResultsUpdater = self;
_searchController.searchBar.placeholder = @"Search";
self.navigationItem.searchController = _searchController;
self.navigationItem.hidesSearchBarWhenScrolling = YES;
}
}