Я пытаюсь включить панель поиска внутри панели навигации через элемент навигации контроллера вида.
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = .white
self.navigationController?.navigationBar.prefersLargeTitles = true
self.navigationItem.title = "Sticky Section Headers"
self.edgesForExtendedLayout = .all
self.extendedLayoutIncludesOpaqueBars = true
self.navigationItem.searchController = UISearchController()
setUpNavBarAppearance()
}
Этот контроллер представления имеет представление коллекции, и когда пользователь нажимает на ячейку в представлении коллекции, я помещаю новый экземпляр того же контроллера представления (демонстрационные цели) в стек навигации.
Поведение для контроллера поиска было несовместимым между двумя контроллерами представления. Для первого / root контроллера представления панель поиска отображается по умолчанию, но для второго контроллера представления, который помещается в контроллер навигации, поиск скрыт по умолчанию, пока пользователь не прокрутит вниз. Я хотел бы сохранить поведение внешнего вида поиска одинаково на обоих экранах.
Мне известно, что для параметра hidesSearchBarWhenScrolling
значение false будет постоянно отображать панель поиска, но я хочу скрыть панель поиска, пока пользователь выполняет прокрутку.
Есть ли способ получить согласованное поведение?
Вот файл gist, если вы хотите попробовать код: https://gist.github.com/prasadpamidi/829e636d4697fda025bb0795ee81e355
Цени любую помощь.