问题描述
是否可以在UIKitForMac中轻松启用对Catalyst应用程序的右键单击?
当前,以下代码在单击鼠标左键时可以正常工作,但是在单击鼠标右键时什么也不需要:
WM_CHAR
//被称为左击,但不被单击
button.addTarget(self,action: #selector(doSomething),for: .touchUpInside)
解决方法
https://developer.apple.com/design/human-interface-guidelines/ios/controls/context-menus/
通过右键单击Mac Catalyst,可以使用此菜单
1。添加迭代
let interaction = UIContextMenuInteraction(delegate: self)
yourButton.addInteraction(interaction)
2。添加扩展UIContextMenuIteractionDelegate
extension AccountViewVC: UIContextMenuInteractionDelegate {
public func contextMenuInteraction(_ interaction: UIContextMenuInteraction,configurationForMenuAtLocation location: CGPoint) -> UIContextMenuConfiguration? {
return UIContextMenuConfiguration(identifier: nil,previewProvider: nil,actionProvider: { suggestedActions in
let delete = UIAction(title: "Delete",image: UIImage(systemName: "arrow")) { action in
}
let children = [delete]
return UIMenu(title: "Main Menu",children: children)
})
}}