Поведение панели поиска внутри панели навигации не соответствует iOS 13 - PullRequest
0 голосов
/ 03 мая 2020

Я пытаюсь включить панель поиска внутри панели навигации через элемент навигации контроллера вида.

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

Цени любую помощь.

...