本文介绍了SwiftUI 双导航栏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在 SwiftUI 中遇到导航问题.我在导航栏上有一个按钮,如果点击它会推送一个带有项目列表的新导航视图.当点击这些项目之一时,它会推送详细信息视图.
I am having trouble with navigation in SwiftUI. I have a button on a navigation bar, if clicked it pushes a new navigation view with list of items. When one of those items is tapped, it pushes a detail view.
但我最终得到了这样的东西.
But I am ending up with something like this.
下面是代码
struct FirstView: View {
var body: some View {
NavigationView {
List {
...
}
.navigationBarTitle(Text("First View"))
.navigationBarItems(trailing: MyButton())
}
}
}
struct MyButton: View {
var body: some View {
NavigationLink("SecondView", destination: SecondView())
}
}
struct SecondView: View {
var body: some View {
NavigationView {
Text("My View")
}
}
}
推荐答案
从 SecondView
中移除 NavigationView
.
NavigationLink
将第二个视图放在第一个视图导航视图中,因此您无需将其放在第二个视图中.
The NavigationLink
puts the second view inside the first views navigations view, so you do not need to put it inside a second one.
您仍然可以像这样从 SecondView
更新视图的标题:
You can still update the title of the view from SecondView
like so:
struct SecondView: View {
var body: some View {
Text("My View")
.navigationBarTitle("Second View")
}
}
这篇关于SwiftUI 双导航栏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!