gpt4 book ai didi

swift - 创建一个没有后退按钮的 NavigationLink SwiftUI

转载 作者:行者123 更新时间:2023-11-28 05:36:14 24 4
gpt4 key购买 nike

我试图在 SomeView1() 中链接一个按钮操作以导航到 someView2() 而无需在屏幕顶部设置后退按钮。相反,我想在 SomeView2() 中添加另一个按钮,它将导航回 SomeView1()。这在 SwiftUI 中可能吗?

SomeView1()

struct SomeView1: View {
var body: some View {
NavigationView {
VStack {
//...view's content

NavigationLink(destination: SomeView2()) {
Text("go to SomeView2")
}
Spacer()
}
}
}
}

SomeView2()

struct SomeView2: View {
var body: some View {
NavigationView {
VStack {
//...view's content

NavigationLink(destination: SomeView1()) {
Text("go to SomeView1")
}
Spacer()
}
}
}
}

这是它的样子: enter image description here

最佳答案

在这里获得所需内容的正确方法是使用 presentationMode 环境变量:

import SwiftUI

struct View2: View {
@Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>

var body: some View {
VStack {
Button(action: {
self.presentationMode.wrappedValue.dismiss()
}) {
Text("POP")
}
}
.navigationBarTitle("")
.navigationBarBackButtonHidden(true)
.navigationBarHidden(true)
}
}

struct ContentView: View {
var body: some View {
NavigationView {
NavigationLink(destination: View2()) {
Text("PUSH")
.navigationBarTitle("")
.navigationBarHidden(true)
}
}
}
}

struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}

关于swift - 创建一个没有后退按钮的 NavigationLink SwiftUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58562063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com