SwiftUI 为我们提供了 contextMenu 修饰符,用于在应用程序中创建弹出式菜单。
上下文菜单是由一组按钮组成的,每个按钮都有自己的动作、文本和图标。文本和图标可以直接在按钮中提供,因为SwiftUI 将提供一个隐式的 HStack 来确保它们符合系统标准的外观和感觉。
所以,如果我们想要一个上下文菜单附加到一些文本组件上,我们可以为菜单提供两个按钮,示例代码如下:
struct ContentView: View {
var body: some View {
Text("选项")
.contextMenu {
Button {
print("视频")
} label: {
Label("视频", systemImage: "video")
}
Button {
print("音频")
} label: {
Label("音频", systemImage: "mic")
}
}
}
}
上述代码给 选项 文本添加了上下文弹出菜单,一个音频一个视频的选项。效果图如下: