iOS13 Панель навигации большие заголовки, не покрывающие строку состояния - PullRequest
3 голосов
/ 06 июля 2019

На ios13, с iphone x, навигация по большому названию не покрывает строку состояния, однако при прокрутке и переходе в традиционную навигационную панель работает отлично. Это не влияет на устройства без надреза.

Большие названия enter image description here

Традиционная панель навигации

Все это встроено в контроллер навигации, поэтому я не понимаю, почему это происходит. Приветствия

1 Ответ

2 голосов
/ 15 июля 2019

Официальный способ настройки UINavigationBar, предшествующий iOS 13, заключается в следующем:

// text/button color
UINavigationBar.appearance().tintColor = .white
// background color
UINavigationBar.appearance().barTintColor = .purple
// required to disable blur effect & allow barTintColor to work
UINavigationBar.appearance().isTranslucent = false

iOS 13 изменила работу панелей навигации, поэтому вам нужно будет сделать что-то немного по-другому, чтобы поддерживать оба старых& new:

if #available(iOS 13.0, *) {
    let appearance = UINavigationBarAppearance()
    appearance.backgroundColor = .purple
    appearance.titleTextAttributes = [.foregroundColor: UIColor.white]
    appearance.largeTitleTextAttributes = [.foregroundColor: UIColor.white]

    UINavigationBar.appearance().standardAppearance = appearance
    UINavigationBar.appearance().compactAppearance = appearance
    UINavigationBar.appearance().scrollEdgeAppearance = appearance
} else {
    UINavigationBar.appearance().tintColor = .white
    UINavigationBar.appearance().barTintColor = .purple
    UINavigationBar.appearance().isTranslucent = false
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...