SwiftUI - свойство isTranscluent панели навигации дает сбой на iPad

Как установить isTranscluentсвойство для панели навигации iPad с помощью SwiftUI. Приведенный ниже код отлично работает на iPhone, но вылетает на iPad с ошибкой:EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0).

UINavigationBar.appearance().isTranslucent = false

1 ответ

Прекрасно работает в Xcode 12.0 Beta (iPad Pro 2018 с iPadOS 13.5) с использованием UIKit:

navigationController.navigationBar.isTranslucent = false


Также отлично работает в Xcode 12.0 Beta (iPad Pro 2018 с iPadOS 13.5) с использованием SwiftUI:

struct NavigationConfigurator: UIViewControllerRepresentable { ... }

NavigationView {

    ScrollView {
        Text("Scroll View")
    }
    .navigationBarTitle("Navigation Bar", displayMode: .inline)
    .background(NavigationConfigurator { controller in
        controller.navigationBar.barTintColor = .red
        controller.navigationBar.titleTextAttributes = [.foregroundColor : .grey]
        controller.navigationBar.isTranslucent = false
    })
}
Другие вопросы по тегам