我在导航顶部有一个 TabView 和一个包含用户配置文件的选项卡。
当用户触摸封面/个人资料图片时,我想展示一个具有自定义样式的操作表。
自定义样式如下所示:
我已经尝试在 ZStack 底部附加第二个视图,但 TabView 总是在前面。
如何自定义操作表或如何隐藏 TabView?
谢谢
我在导航顶部有一个 TabView 和一个包含用户配置文件的选项卡。
当用户触摸封面/个人资料图片时,我想展示一个具有自定义样式的操作表。
自定义样式如下所示:
我已经尝试在 ZStack 底部附加第二个视图,但 TabView 总是在前面。
如何自定义操作表或如何隐藏 TabView?
谢谢
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)
}
}
}