我在创建新的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/

10-11 18:36