1

我在导航顶部有一个 TabView 和一个包含用户配置文件的选项卡。

当用户触摸封面/个人资料图片时,我想展示一个具有自定义样式的操作表。

自定义样式如下所示:

自定义操作表

我已经尝试在 ZStack 底部附加第二个视图,但 TabView 总是在前面。

如何自定义操作表或如何隐藏 TabView?

谢谢

4

1 回答 1

0

ZStack方法将在这种情况下工作。

我试过一个小例子,你可以调整并尝试适应你的项目,看看它是否有效。

在此处输入图像描述

执行 :

struct ContentView: View {
    @State var showingCustomSheet = false
    var body: some View {
        ZStack {
            VStack {
                Button(action: {
                     withAnimation {
                        self.showingCustomSheet.toggle()
                    }
                }) {
                    Text("Show Custom sheet")
                }
            }

            ZStack {
                HStack(alignment: .bottom) {
                    Spacer()
                    VStack (alignment: .leading, spacing: 10) {
                        Spacer()
                        Button(action: {}) { Text("Delete photo") }
                        Button(action: {}) { Text("Take photo") }
                        Button(action: {}) { Text("Choose photo") }
                        Button(action: {
                            withAnimation {
                                self.showingCustomSheet.toggle()
                            }
                        }) { Text("Cancel") }
                    }
                    Spacer()
                }
            }.background(Color.black.opacity(0.1))
               .edgesIgnoringSafeArea(.all)
               .offset(x:0, y: self.showingCustomSheet ? 0 : UIApplication.shared.keyWindow?.frame.height ?? 0)
        }
    }
}
于 2020-06-20T06:26:30.300 回答