今天做一个多个 sheet
的效果,点击下面三个按钮打开不同的 sheet
。
Show me the code
swift
import SwiftUI
enum CurrentActiveSheet: Identifiable {
case add, edit, delete
var id: Int {
hashValue
}
}
struct MoreSheet: View {
@State var currentActiveSheet: CurrentActiveSheet?
var body: some View {
HStack(spacing: 20) {
Text("add")
.padding()
.background(Color.red)
.onTapGesture {
currentActiveSheet = .add
}
Text("edit")
.padding()
.background(Color.green)
.onTapGesture {
currentActiveSheet = .edit
}
Text("delete")
.padding()
.background(Color.blue)
.onTapGesture {
currentActiveSheet = .delete
}
}
.foregroundColor(Color.white)
.sheet(item: $currentActiveSheet) { item in
switch item {
case .add:
Text("add")
case .edit:
Text("edit")
case .delete:
Text("delete")
}
}
}
}
struct MoreSheet_Previews: PreviewProvider {
static var previews: some View {
MoreSheet()
}
}
Preview
![](https://file.jishuzhan.net/article/1721650648597925890/65dc43eee58aba16a2036d85a0485bcb.webp)
![](https://file.jishuzhan.net/article/1721650648597925890/56468715304158ea7fb0fda7bcad2216.webp)
![](https://file.jishuzhan.net/article/1721650648597925890/b04ee81f410123030c4a62f8712b1088.webp)