Swift 5 StatusBar исчезает при добавлении SearchController в навигационный элемент - PullRequest
0 голосов
/ 19 апреля 2020

Я добавляю SearchController к своему navigationItem, а также скрываю свои searchBar при прокрутке

Но когда я это делаю, моя StatusBar показывает весь черный, как только мой контроллер просмотра загружается

Как только я начинаю прокручивать и моя панель поиска скрывается, строка состояния возвращается. Когда я нажимаю на панели поиска, чтобы начать печатать, строка состояния также возвращается

Я следовал этому rayWenderlich учебное пособие, но они не получают эту ошибку, не совсем понимая, что я делаю неправильно, надеясь, что кто-то может дать некоторое представление

Это код, который я вызываю для настройки моей панели поиска в viewDidLoad

navigationController?.navigationBar.backgroundColor = Constants.Colors.purple
navigationController?.navigationBar.barTintColor = Constants.Colors.purple
navigationController?.navigationBar.tintColor = .white
navigationController?.navigationBar.titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white,
    NSAttributedString.Key.font: UIFont(name: "Avenir-Heavy", size: 20)!]
navigationController?.navigationBar.isTranslucent = false

searchController.searchResultsUpdater = self
searchController.obscuresBackgroundDuringPresentation = false
searchController.searchBar.placeholder = "Search Projects..."
searchController.searchBar.backgroundColor = Constants.Colors.purple
searchController.searchBar.searchTextField.backgroundColor = .white
searchController.searchBar.searchTextField.textColor = UIColor(red: 0.286, green: 0.286, blue: 0.278, alpha: 1)

navigationItem.searchController = searchController
self.navigationItem.hidesSearchBarWhenScrolling = true
definesPresentationContext = true

Когда я устанавливаю self.navigationItem.hidesSearchBarWhenScrolling = false, эта проблема не возникает, однако я хочу, чтобы панель поиска скрывалась при прокрутке

Я также вызываю это за пределами viewDidLoad

override var preferredStatusBarStyle: UIStatusBarStyle {
    .lightContent
}

Ниже приведены изображения, показывающие исчезновение строки состояния

в верхней части страницы и строка поиска enter image description here

прокрутка вниз и скрытие поиска b ar enter image description here

Ввод в строке поиска enter image description here

Это единственные сообщения StackOverflow Я мог найти что-то похожее на эту проблему

  1. При добавлении SearchController в navigationItem строка состояния становится черной, когда активная
  2. Скрытая строка состояния появляется, когда Поисковая панель активируется
  3. Как изменить цвет фона statusBar при активном поиске?
...