小编use*_*580的帖子

在 swiftUI 中的导航视图之上呈现一个视图

我有一个 MainView,它是一个导航视图,它通过 NavigationLink 呈现一个视图,即此处的子视图。在子视图中,我想在按钮切换上的子视图顶部呈现一个视图,同时隐藏导航栏和子视图内容。我尝试使用 ZStack,但它似乎没有隐藏导航栏,因为它仍然是导航堆栈的一部分。还有其他方法可以实现这一目标吗?

代码如下:

struct MainView: View {
    var body: some View {
        NavigationView {
            List {
                NavigationLink(destination: SubView()) {
                    Text("Go to Another View")
                }
            }
        }
    }
}

struct SubView : View {
    @State private var showTopSheet: Bool = false
    var body: some View {
        ZStack {
            Text("Content goes here")
            if showTopSheet {
                TopSheet(showTopSheet: $showTopSheet).transition(.move(edge: .top))
            }
        }.navigationBarTitle("SubView")
            .navigationBarBackButtonHidden(true)
            .navigationBarItems(trailing: Button(action: {
                self.showTopSheet.toggle()
            }) {
                Image(systemName: "folder.circle")
            })
    }
}

struct TopSheet: View {
    @Binding var showTopSheet: …
Run Code Online (Sandbox Code Playgroud)

ios navigationview swiftui zstack

6
推荐指数
0
解决办法
4348
查看次数

标签 统计

ios ×1

navigationview ×1

swiftui ×1

zstack ×1