Панель навигации iOS 13 не соответствует содержанию

Я столкнулся с проблемой с панелью навигации в iOS 13 при ее прозрачности. У меня есть панель навигации, которую я показываю и скрываю, когда контроллер вида появляется / исчезает.

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

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

Вот код для отображения / скрытия навигационной панели:

extension UINavigationController {
    public func showTransparentNavigationBar() {
        navigationBar.setBackgroundImage(UIImage(), for: .default)
        navigationBar.shadowImage = UIImage()
    }

    public func hideTransparentNavigationBar() {
        navigationBar.setBackgroundImage(nil, for: .default)
        navigationBar.shadowImage = nil
    }
}

Эти методы вызываются на viewDidAppear из начального контроллера представления и выдвинутого контроллера представления.

Как я могу исправить эту проблему?

0 ответов

Для меня решением было установить extendedLayoutIncludesOpaqueBars к true в ViewController, который содержит SearchBar.

Другие вопросы по тегам