我有两个屏幕。第一个屏幕包含以下代码
NavigationLink(destination: SecondScreen()) {
Text("Scan Qr Code")
}
NavigationLink
导航到第二个可以正常工作的屏幕。在第二个屏幕中
struct SecondScreen: View {
@Environment(\.presentationMode) var presentation
var body: some View{
Button("Done") {
self.presentation.wrappedValue.dismiss()
}
}}
第二个屏幕中的按钮会弹出到第一个屏幕,该按钮可以正常工作,但是一旦我回到第一个屏幕并单击NavigationLink
,它就不会移到第二个屏幕。
答案 0 :(得分:0)
这是一个解决方案。使用第一个屏幕上的按钮代替导航链接,然后使用该按钮弹出工作表。我测试了一下,对我有用!
struct ContentView: View {
@State private var showingAddExpense = false
var body: some View {
NavigationView{
Button(action: {
self.showingAddExpense = true
}) {
Text("Button")
}
.sheet(isPresented: $showingAddExpense) {
SecondScreen()
}
}
}
}
struct SecondScreen: View {
@Environment(\.presentationMode) var presentation
var body: some View{
NavigationView{
Button("Done") {
self.presentation.wrappedValue.dismiss()
}
}
}
}