SwiftUI中的.contextMenu

在SwiftUI中,contextMenu是一种用于在视图上下文中显示操作菜单的修饰符。它可以通过长按或在鼠标右键点击视图时触发。

使用contextMenu修饰符,可以将一个或多个操作菜单项添加到视图中。每个菜单项都可以包含一个标题和一个处理程序,当用户选择该菜单项时将调用该处理程序。

以下是一个使用contextMenu修饰符的示例:

swift 复制代码
struct ContentView: View {
    var body: some View {
        Text("Hello World")
            .contextMenu {
                Button(action: {
                    // perform action
                }) {
                    Text("Option 1")
                    Image(systemName: "circle.fill")
                }
                
                Button(action: {
                    // perform action
                }) {
                    Text("Option 2")
                    Image(systemName: "square.fill")
                }
            }
    }
}

在上面的示例中,text视图被修饰为具有上下文菜单。菜单中包含两个按钮,分别具有"Option 1"和"Option 2"的标题。当用户选择其中一个菜单项时,与之关联的处理程序将被调用。

除了按钮,您还可以在上下文菜单中使用其他视图,例如图像、文本字段等。

注意:contextMenu修饰符在iOS 13及更高版本和macOS 10.15及更高版本上可用。

相关推荐
东坡肘子2 天前
高通收购 Arduino:历史的轮回 | 肘子的 Swift 周报 #0106
swiftui·arduino·swift
HarderCoder2 天前
Swift 基础语法全景(一):从变量到类型安全
swiftui·swift
QWQ___qwq4 天前
SwiftUI 的状态管理包装器(Property Wrapper)
ios·swiftui·swift
jh_cao6 天前
(4)SwiftUI 基础(第四篇)
ios·swiftui·swift
jh_cao7 天前
(3)SwiftUI 的状态之上:数据流与架构(MVVM in SwiftUI)
ios·架构·swiftui
jh_cao7 天前
(3)容器布局进阶:Spacer、Divider、Frame 与 Alignment
swiftui
东坡肘子7 天前
Sora 2:好模型,但未必是好生意 | 肘子的 Swift 周报 #0105
人工智能·swiftui·swift
jh_cao8 天前
(1)SwiftUI 的哲学:声明式 UI vs 命令式 UI
ui·swiftui·命令模式
HarderCoder8 天前
Swift 6 并发深渊:@unchecked Sendable 与“隐式 MainActor”如何合谋杀死你的 App
swiftui·swift
HarderCoder8 天前
告别 UIKit 生命周期:SwiftUI 视图一生全解析——从 init 到 deinit 的“隐秘角落”
swiftui·swift