因此,起初我想摆脱主屏幕上的导航栏,因为它不想显示标题,而且我真的不需要它。
但是,由于使用NavigationLink
,因此无法将其删除。所以我留在一个小泡菜里。
如何隐藏主页上的工具栏/导航栏或显示标题。
最小代码
struct ContentView: View {
var body: some View {
NavigationView {
Text("Loading")
}.navigationBarTitle(Text("Home"))
}
}
因此,再经过几次尝试后,标题似乎必须显示在
中 var body: some View {
NavigationView {
if posts.isEmpty {
Text("Loading")
//.navigationBarTitle("") //this must be empty
.navigationBarHidden(true)
} else {
(REST OF CODE)
}
}
}
尽管如此,它仍然无法隐藏。问题是当if语句运行时,它会不断消失。
答案 0 :(得分:1)
.navigationBarTitle
以及其他类似的修饰符应在内部 NavigationView
使用,例如
struct ContentView: View {
var body: some View {
NavigationView {
Text("Loading")
.navigationBarTitle(Text("Home")) // << here !!
}
}
}
更新:如果您想使两个条件分支的修饰符都起作用,则将条件包装到某个容器(VStack
,Group
等)中,例如
var body: some View {
NavigationView {
Group {
if posts.isEmpty {
Text("Loading")
} else {
(REST OF CODE)
}
}
//.navigationBarTitle("") //this must be empty
.navigationBarHidden(true) // << here !!
}
}