8

我通过使用在我的催化剂应用程序中使用上下文菜单

let interaction = UIContextMenuInteraction(delegate: self)
editButton.addInteraction(interaction)

这在 Mac 上运行良好,并且当用户使用鼠标右键单击时会打开菜单。

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

4

1 回答 1

1

好吧,官方文档明确声明它自己UIContextMenuInteraction处理用户交互,因此至少目前没有官方方法可以改变这一点 - 我们提供内容,其他一切都在幕后。

来自developer.apple.com

宣言

class UIContextMenuInteraction : NSObject

概述

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

于 2020-01-31T16:07:13.293 回答