SwiftUI:contextMenu 菜单
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SwiftUI:contextMenu 菜单相关的知识,希望对你有一定的参考价值。
参考技术A 当用户点击按钮或导航链接时,很明显,SwiftUI应该触发这些视图的默认操作。但是,如果他们按住某些东西怎么办?在较旧的iPhone上,用户可以通过用力按压某些东西来触发 3D Touch,但是原理是相同的:用户希望与他们进行交互的内容有更多的选择。SwiftUI允许我们将上下文菜单附加到对象以提供此额外功能,所有这些操作都使用 contextMenu() 修饰符完成。您可以为此选择一个按钮,它们将按顺序显示,因此我们可以构建一个简单的上下文菜单来控制视图的背景颜色,如下所示:
就像 TabView 一样,上下文菜单中的每个项目都可以附有文本和图像,同样,无论您以什么顺序提供它们还是尝试提供多个图像都无关紧要——它始终是第一个文本,然后一个图像。
在使用上下文菜单时,我为您提供了一些技巧,以帮助确保您为用户提供最佳体验:
请记住,上下文菜单本质上是隐藏的,因此在将重要操作隐藏在上下文菜单中之前,请三思而后行。
SwiftUI contextMenu - 如何添加红色(危险)动作[重复]
【中文标题】SwiftUI contextMenu - 如何添加红色(危险)动作[重复]【英文标题】:SwiftUI contextMenu - how add red (dangerous) actions [duplicate] 【发布时间】:2019-11-11 14:06:47 【问题描述】:这是一个简单的上下文菜单。 1) 如何设置 Text("delete") 和 Image red.
2) 如何添加分隔线(下图)
struct customMenu: View
var onDelete: (() -> Void)?
init(onDelete: @escaping () -> Void)
self.onDelete = onDelete;
var body: some View
VStack
if (self.onDelete != nil)
Button(action: self.onDelete!)
HStack
Text("delete")
Image(systemName: "trash")
【问题讨论】:
你能告诉我你如何使用上下文菜单的代码吗? 还不支持。我已经问过这个here 谢谢!我的问题是双重的***.com/questions/58467846/… 【参考方案1】:很简单,只需输入以下内容:
Divider()
【讨论】:
以上是关于SwiftUI:contextMenu 菜单的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI嵌入在Form或Section中的视图上下文菜单(contextMenu)无法独立弹出的解决
macOS App SwiftUI 中的 ContextMenu 按钮点击