Я хотел бы дать UINavigationBar высоту c, но я не совсем уверен, как это сделать. В настоящее время у меня есть модификатор представления UINavigationBar, как показано ниже:
struct NavigationBarModifier: ViewModifier {
var backgroundColor: UIColor?
var titleColor: UIColor?
var largeTitleColor: UIColor?
var tintColor: UIColor?
init(backgroundColor: UIColor?, titleColor: UIColor?, largeTitleColor: UIColor?, tintColor: UIColor?) {
self.backgroundColor = backgroundColor
self.titleColor = titleColor
self.largeTitleColor = largeTitleColor
self.tintColor = tintColor
let coloredAppearance = UINavigationBarAppearance()
coloredAppearance.configureWithTransparentBackground()
coloredAppearance.backgroundColor = .clear
coloredAppearance.titleTextAttributes = [.foregroundColor: titleColor]
coloredAppearance.largeTitleTextAttributes = [.foregroundColor: largeTitleColor]
UINavigationBar.appearance().standardAppearance = coloredAppearance
UINavigationBar.appearance().compactAppearance = coloredAppearance
UINavigationBar.appearance().scrollEdgeAppearance = coloredAppearance
UINavigationBar.appearance().tintColor = tintColor
}
func body(content: Content) -> some View {
ZStack{
content
VStack {
GeometryReader { geometry in
Color(self.backgroundColor ?? .clear)
.frame(height: geometry.safeAreaInsets.top)
.edgesIgnoringSafeArea(.top)
Spacer()
}
}
}
}
}
Я хотел бы иметь возможность установить высоту этой панели навигации, для которой я создал инициализатор, но я не совсем конечно как. Я пробовал использовать модификаторы UINavigationBar.appearance (), но они не работали