导航标题不显示
Navigation Title not showing
所以一开始我想去掉主屏幕上的导航栏,因为它不想显示标题而且我真的不需要它。
但是我无法删除它,因为我使用 NavigationLink
。所以我有点泡菜了。
如何隐藏主页上的 toolbar/navigation 栏或显示标题。
最小代码
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 语句运行时它一直消失。
.navigationBarTitle
以及其他类似的修饰符,应该用在里面NavigationView
,like
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 !!
}
}
所以一开始我想去掉主屏幕上的导航栏,因为它不想显示标题而且我真的不需要它。
但是我无法删除它,因为我使用 NavigationLink
。所以我有点泡菜了。
如何隐藏主页上的 toolbar/navigation 栏或显示标题。
最小代码
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 语句运行时它一直消失。
.navigationBarTitle
以及其他类似的修饰符,应该用在里面NavigationView
,like
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 !!
}
}