右键单击Mac版UIKit

时间:2019-06-20 09:37:57

标签: ios uikitformac

我有一个iPad应用程序,可以非常轻松地移植到Mac。

我正在使用触摸开始/移动/结束,它的外观很好,我想在Mac上的iOS应用上单击鼠标右键。

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

3 个答案:

答案 0 :(得分:2)

我认为您不能添加任意的右键单击手势,但是如果您只需要右键单击以显示上下文菜单,那么新的UIContextMenuInteraction可以满足您的要求:

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

…,然后实现UIContextMenuInteractionDelegate方法来配置和显示上下文菜单。在macOS上,右键单击“上下文菜单交互”,上下文菜单将显示为标准macOS弹出菜单。

UIContextMenuInteraction目前的文档数量很少,因此如果需要,此博客文章会有所帮助: https://kylebashour.com/posts/ios-13-context-menus

答案 1 :(得分:1)

请遵循以下步骤:
1.设置类型为NSObject的手势识别器
2.调用rightMouseDown函数,并使用一个您想作为参数执行的事件,例如gestureRecognizerObject.rightMouseButton(event)

答案 2 :(得分:1)

以 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
    }
}