我有一个 iPad 应用程序,我很容易移植到 Mac 上。
我正在使用触摸开始/移动/结束,并且端口很好,但我想在 Mac 上的 iOS 应用程序上使用右键单击。
如何在 UIKit for Mac App 中注册右键单击?
我有一个 iPad 应用程序,我很容易移植到 Mac 上。
我正在使用触摸开始/移动/结束,并且端口很好,但我想在 Mac 上的 iOS 应用程序上使用右键单击。
如何在 UIKit for Mac App 中注册右键单击?
我不认为你可以添加任意的右键单击手势,但如果你想要的只是右键单击以显示上下文菜单,那么新的UIContextMenuInteraction
已经涵盖了你:
let interaction = UIContextMenuInteraction(delegate: self)
someView.addInteraction(interaction)
…然后实现UIContextMenuInteractionDelegate
配置和显示上下文菜单的方法。在 macOS 上,“上下文菜单交互”是右键单击,上下文菜单将显示为标准的 macOS 弹出菜单。
UIContextMenuInteraction
目前文档很少,所以如果您需要,这篇博文会很有帮助:
https ://kylebashour.com/posts/ios-13-context-menus
基于亚当的回答,如果您只想在视图上捕获右键单击,则以下操作将起作用:
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
}
}