栏中的导航 Link Items 返回到 NavigationView 的顶部
Navigation Link in bar Items goes back to top of NavigationView
struct Testing: View {
var body: some View {
NavigationView{
VStack {
Text("View 1")
Text("View 1.3")
NavigationLink(destination: TestView(),
label: {
Text("View 1 navigation")
})
}
}
}
}
struct TestView: View {
var body: some View {
VStack {
Text("View 2")
}
.navigationBarItems(trailing:NavigationLink(
destination: Text("View 3"),
label: {
Text("Navigate")
}))
}
}
当单击 TestViews navigationBarItems
内部的 NavigationLink
时,它会导航到视图 3。当我单击后退按钮时,它不会返回到 TestView,而是会一直返回到 Testing。
如何让它回到上一个视图而不是第一个视图?
我正在使用 Xcode 12.
将导航 link 放入导航视图的正文中(栏不在导航视图中)
所以这是可能的方法
struct TestView: View {
@State private var isActive = false
var body: some View {
VStack {
Text("View 2")
}
.background(
NavigationLink(destination: Text("View 3"), isActive: $isActive,
label: { EmptyView() })
)
.navigationBarItems(trailing:
Button("Navigate", action: { self.isActive = true }))
}
}
struct Testing: View {
var body: some View {
NavigationView{
VStack {
Text("View 1")
Text("View 1.3")
NavigationLink(destination: TestView(),
label: {
Text("View 1 navigation")
})
}
}
}
}
struct TestView: View {
var body: some View {
VStack {
Text("View 2")
}
.navigationBarItems(trailing:NavigationLink(
destination: Text("View 3"),
label: {
Text("Navigate")
}))
}
}
当单击 TestViews navigationBarItems
内部的 NavigationLink
时,它会导航到视图 3。当我单击后退按钮时,它不会返回到 TestView,而是会一直返回到 Testing。
如何让它回到上一个视图而不是第一个视图?
我正在使用 Xcode 12.
将导航 link 放入导航视图的正文中(栏不在导航视图中)
所以这是可能的方法
struct TestView: View {
@State private var isActive = false
var body: some View {
VStack {
Text("View 2")
}
.background(
NavigationLink(destination: Text("View 3"), isActive: $isActive,
label: { EmptyView() })
)
.navigationBarItems(trailing:
Button("Navigate", action: { self.isActive = true }))
}
}