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
})
}