Ios 在Mac的UIKit中单击鼠标右键

Ios 在Mac的UIKit中单击鼠标右键,ios,uikitformac,Ios,Uikitformac,我有一个iPad应用程序,可以很容易地移植到Mac上 我正在使用touch开始/移动/结束,它端口很好,但我想在Mac上用鼠标右键点击我的iOS应用程序 如何在UIKit for Mac应用程序中注册右键单击?按照以下步骤操作: 1.设置NSObject类型的手势识别器 2.调用rightMouseDown函数时,要使用一个事件作为参数执行,如gestureRecognitionZeroObject.rightMouseButton(事件)我认为您不能添加任意的右键单击手势,但如果您只想右键单击

我有一个iPad应用程序,可以很容易地移植到Mac上

我正在使用touch开始/移动/结束,它端口很好,但我想在Mac上用鼠标右键点击我的iOS应用程序

如何在UIKit for Mac应用程序中注册右键单击?

按照以下步骤操作:
1.设置NSObject类型的手势识别器

2.调用
rightMouseDown
函数时,要使用一个事件作为参数执行,如
gestureRecognitionZeroObject.rightMouseButton(事件)

我认为您不能添加任意的右键单击手势,但如果您只想右键单击以显示上下文菜单,那么新的操作已经涵盖了您:

let interaction = UIContextMenuInteraction(delegate: self)
someView.addInteraction(interaction)
…然后实现
UIContextMenuInteractionDelegate
方法来配置和显示上下文菜单。在macOS上,“上下文菜单交互”是右键单击,上下文菜单将显示为标准macOS弹出菜单

UIContextMenuInteraction
目前文档数量非常少,因此如果您需要,这篇博文很有帮助:

基于Adam的答案,如果您只想捕获视图上的右键单击,则以下操作将起作用:

class Bubble: UIView, UIContextMenuInteractionDelegate {
    init() {
        super.init(frame: CGRect.zero)
        addInteraction(UIContextMenuInteraction(delegate: self))
    }

// UIContextMenuInteractionDelegate ================================================================
    public func contextMenuInteraction(_ interaction: UIContextMenuInteraction, configurationForMenuAtLocation location: CGPoint) -> UIContextMenuConfiguration? {
        // Do Stuff
        return nil
    }
}

UIGestureRecognitor
没有
rightMouseButton
func