我正在尝试创建一个按钮,想在导航到另一个 View 之前做一些事情。但是如果我使用 Button,我就不能导航到另一个 View ,如果我使用 NavigationLink,我除了导航之外什么也做不了。
我在下面添加按钮和导航链接。
我正在尝试使用此按钮进行 firebase 身份验证,完成身份验证后我想导航到另一个 View 。
Button(action: {print("Hi")}) {
Text("Create Account")
.font(.system(size: 20))
.foregroundColor(Color("GreyLabel0"))
}
NavigationLink(destination: WelcomeView()) {
Text("Create Account")
.font(.system(size: 20))
.foregroundColor(Color("GreyLabel0"))
}
最佳答案
在 beta 6 中,DynamicNavigationDestinationLink 消失了,所以我更新了使用 NavigationLink 的答案。
请注意,目前 NavigationLink 中存在错误,可在此处解决:https://stackoverflow.com/a/57274613/7786555
import SwiftUI
struct ContentView: View {
@State private var presentMe = false
var body: some View {
NavigationView {
VStack {
NavigationLink(destination: DetailView(), isActive: $presentMe) { EmptyView() }
Button(action: {
print("hi")
self.presentMe = true
}, label: {
Text("Present Now!")
})
Spacer()
}.navigationBarTitle(Text("Top View"))
}
}
}
struct DetailView: View {
var body: some View {
Text("Detailed View")
}
}
关于swift - 如何做某事(例如 : print ("hi")) in NavigationLink before moving to a destinationView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56962928/