【发布时间】:2021-12-20 05:56:54
【问题描述】:
对于 SwiftUI 来说还有一些新东西。现在我正在尝试从菜单中的按钮呈现一张工作表。我可以使用下面的示例代码重现该问题:
import SwiftUI
struct SheetView: View {
@Environment(\.presentationMode) var presentationMode
var body: some View {
Button("Press to dismiss") {
presentationMode.wrappedValue.dismiss()
}
.font(.title)
.padding()
.background(Color.black)
}
}
struct TestButtonInMenu: View {
@State private var showingSheet = false
var body: some View {
Button("Show Sheet") {
showingSheet.toggle()
}
.sheet(isPresented: $showingSheet) {
SheetView()
}
}
}
enum SampleEnum: String, CaseIterable {
case one, two, three, four
}
struct ContentView: View {
var body: some View {
Form {
Section {
VStack {
ForEach(SampleEnum.allCases, id:\.self) { id in
Menu("\(Text(id.rawValue))") {
TestButtonInMenu()
}
}
}
}
}
}
}
我尝试了不同的工作表初始化程序,但它们没有任何区别。
我错过了什么?这在 SwiftUI 中可行吗?
【问题讨论】:
-
这是否回答了您的问题stackoverflow.com/a/65137153/12299030?