我通过使用在我的催化剂应用程序中使用上下文菜单
let interaction = UIContextMenuInteraction(delegate: self)
editButton.addInteraction(interaction)
这在 Mac 上运行良好,并且当用户使用鼠标右键单击时会打开菜单。
另一方面,在某些情况下,我需要在普通按钮上打开相同的菜单,尤其是当用户在 iPad 上使用该应用程序时。有没有办法在普通按钮单击/点击事件上打开相同的上下文菜单?
我通过使用在我的催化剂应用程序中使用上下文菜单
let interaction = UIContextMenuInteraction(delegate: self)
editButton.addInteraction(interaction)
这在 Mac 上运行良好,并且当用户使用鼠标右键单击时会打开菜单。
另一方面,在某些情况下,我需要在普通按钮上打开相同的菜单,尤其是当用户在 iPad 上使用该应用程序时。有没有办法在普通按钮单击/点击事件上打开相同的上下文菜单?
好吧,官方文档明确声明它自己UIContextMenuInteraction
处理用户交互,因此至少目前没有官方方法可以改变这一点 - 我们只提供内容,其他一切都在幕后。
宣言
class UIContextMenuInteraction : NSObject
概述
使用 UIContextMenuInteraction 对象将用户的注意力集中在内容的特定部分上,并为用户提供在该内容上执行的操作。上下文菜单交互对象跟踪支持 3D Touch 的设备上的 Force Touch 手势,以及不支持它的设备上的长按手势。当出现适当的手势时,此对象会将您的内容动画化到新界面并显示您提供的上下文菜单。UIKit 管理所有与菜单相关的交互并将所选操作(如果有)报告回您的应用程序。