我想实现这个功能,就像苹果公司的“查找”视图一样。
我的目标是当表视图通过导航推出另一个视图时,用户可以点击导航项按钮关闭表视图。 就像下面这个gif所示。
我试图实现这个功能。
我发现一个问题,就是当用户点击“完成”按钮时,应用程序并不会关闭表视图。 它只是将视图弹回到父视图。就像下面这个gif所示。
这是我的代码。
import SwiftUI
struct ContentView: View {
@State var isShowSheet = false
var body: some View {
Button(action: {
self.isShowSheet.toggle()
}) {
Text("Tap to show the sheet")
}.sheet(isPresented: $isShowSheet) {
NavView()
}
}
}
struct NavView: View {
var body: some View {
NavigationView {
NavigationLink(destination: NavSubView()) {
Text("Enter Sub View")
}
} .navigationViewStyle(StackNavigationViewStyle())
}
}
struct NavSubView: View {
@Environment(\.presentationMode) var presentationMode
var body: some View {
Text("Hello")
.navigationBarItems(trailing:
Button(action: {
self.presentationMode.wrappedValue.dismiss()
}){
Text("Done")
}
)
}
}
我是怎么实现这个功能的? :) 请帮忙,谢谢。 :)