У меня проблема, когда мой текст скрывается за панелью навигации. Панель навигации становится видимой, когда пользователь нажимает на Настройки (или любую другую кнопку меню). Он появляется, и контент виден, но после загрузки нового представления текст исчезает за полосой. Любые решения?
Я изменяю статус видимой панели навигации с помощью .onAppear и .onDisappear видов, которые имеют уровень root. 
Код примерно такой:
struct ContentView: View {
@State public var navBarHidden = true
var body: some View {
NavigationView{
VStack{
ZStack(alignment: .center){
WhiteImage().onAppear{self.navBarHidden = true} //Here only seen as white background
BottomButtons().onDisappear{self.navBarHidden = false}
ProfileInvoke().navigationBarTitle("").navigationBarHidden(self.navBarHidden)
}
}
}
}
}
//The buttons are done with such a construct
struct MenuButton: View {
var buttonText: String
var buttonCallView: AnyView
var body: some View {
NavigationLink(destination: self.buttonCallView) {
Text(self.buttonText)
}.padding()
}
}
//Population of a button
MenuButton(buttonText: "My Favourites", buttonCallView: AnyView(MyFavouritesView().navigationBarTitle(Text("My Favourites"), displayMode: .inline)))
// The settings view where the title disappears
struct SettingsView: View {
var body: some View {
HStack(alignment: .top){
VStack(alignment: .leading){
Text("General").bold()
Divider()
Spacer()
}.padding()
Spacer()
}
}
}
У меня такое ощущение, что это как-то связано с .onAppear
и .onDisappear
, где я установить статус скрытой панели навигации или нет. Точно не уверен.