Catalyst - 以编程方式打开上下文菜单

Catalyst - Opening context menu programmatically

我通过使用

在我的催化剂应用程序中使用上下文菜单
let interaction = UIContextMenuInteraction(delegate: self)
editButton.addInteraction(interaction)

这在 Mac 上工作正常,当用户使用鼠标右键单击时菜单打开。

另一方面,在某些情况下,我需要在单击普通按钮时打开相同的菜单,尤其是当用户在 iPad 上使用该应用程序时。有没有办法在普通按钮 click/tap 事件上打开相同的上下文菜单?

好吧,官方文档明确指出 UIContextMenuInteraction 自行处理用户交互,因此没有正式的方法来更改此设置,至少目前是这样 - 我们仅提供 内容,其他一切都在幕后。

来自developer.apple.com

声明

class UIContextMenuInteraction : NSObject

概览

使用 UIContextMenuInteraction 对象将用户的注意力集中在内容的特定部分,并为用户提供对该内容执行的操作。 上下文菜单交互对象在支持 3D Touch 的设备上跟踪 Force Touch 手势,在不支持它的设备上跟踪长按手势。当出现适当的手势时,此对象会将您的内容 动画化到一个新界面并显示您提供的上下文菜单。 UIKit 管理所有与菜单相关的交互并将所选操作(如果有)报告回您的应用。