我需要通过 Swift UI 中的某些事件来扩展菜单。如何才能做到这一点?
struct ContentView: View {
@State var openMenu = false
var body: some View {
Menu("Options") {
Button("Order Now", action: placeOrder)
Button("Adjust Order", action: adjustOrder)
Button("Cancel", action: cancelOrder)
}
}
func placeOrder() { }
func adjustOrder() { }
func cancelOrder() { }
}
Run Code Online (Sandbox Code Playgroud)
例如,当 openMenu 变量更改时,菜单会展开
如果您想让菜单出现在屏幕上,那么从 2021 年开始,您无法在纯 SwiftUI 中做到这一点。
UIKit 有showMenu(from:rect:),AppKit 有popUpContextMenu(_:with:for:),但 SwiftUI 没有 API 可以以编程方式显示菜单。
在 SwiftUI 2021 中,您可以使用confirmationDialog(_:isPresented:titleVisibility:presenting:actions:message:)或 已弃用的ActionSheet类型来呈现类似菜单的内容。
| 归档时间: |
|
| 查看次数: |
3535 次 |
| 最近记录: |