我在创建新的UIMenuItem并将其分配给选择器时遇到问题。问题在于它会自动调用其选择器而不点击它。
这是我的代码:
let customMenuItem1 = UIMenuItem(title: "Salvează", action: Selector(showNote()))
menuController.menuItems = NSArray(array: [customMenuItem1]) as? [UIMenuItem]
这是出现菜单项的方法:
override func canPerformAction(action: Selector,withSender sender: AnyObject?) -> Bool
{
if action == Selector(showNote())
{
return super.canPerformAction(action, withSender: sender)
}
return false
}
谢谢大家
最佳答案
快速的前两行代码中存在错误:
let customMenuItem1 = UIMenuItem(title: "Salvează", action: Selector(showNote()))
menuController.menuItems = NSArray(array: [customMenuItem1]) as? [UIMenuItem]
听到我们在方法上有Selector时,这个Selector意味着他将自动调用方法,而无需等待用户点击并解决此问题,只有我们可以这样设置
let customMenuItem1 = UIMenuItem(title: "Salvează", action: #selector(RulesDetailViewController.showNote))
menuController.menuItems = NSArray(array: [customMenuItem1]) as? [UIMenuItem]
因为#selector这个参数等待用户的触摸和事件。
关于ios - UIMenuItem禁用方法的自动选择器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36340881/