2

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

我正在使用触摸开始/移动/结束,并且端口很好,但我想在 Mac 上的 iOS 应用程序上使用右键单击。

如何在 UIKit for Mac App 中注册右键单击?

4

2 回答 2

5

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

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

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

UIContextMenuInteraction目前文档很少,所以如果您需要,这篇博文会很有帮助: https ://kylebashour.com/posts/ios-13-context-menus

于 2019-08-07T16:34:51.063 回答
2

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

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
    }
}
于 2021-02-10T08:30:21.753 回答