我有一个iPad应用程序,可以非常轻松地移植到Mac。
我正在使用触摸开始/移动/结束,它的外观很好,我想在Mac上的iOS应用上单击鼠标右键。
如何在Mac应用程序的UIKit中注册右键单击?
答案 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
}
}