1

我在创建新 UIMenuItem 并为其分配选择器时遇到问题。问题是它会自动调用它的选择器而不点击它。这是我的代码:

let customMenuItem1 = UIMenuItem(title: "Salvează", action: Selector(showNote()))
    menuController.menuItems = NSArray(array: [customMenuItem1]) as? [UIMenuItem]

这是menuitem的外观方法:

 override func canPerformAction(action: Selector,withSender sender: AnyObject?) -> Bool
{
    if action == Selector(showNote())
    {
        return super.canPerformAction(action, withSender: sender)
    }

    return false

}

谢谢大家。

4

1 回答 1

1

在 swift 的前 2 行代码中存在错误:

let customMenuItem1 = UIMenuItem(title: "Salvează", action: Selector(showNote()))
menuController.menuItems = NSArray(array: [customMenuItem1]) as? [UIMenuItem]

听到我们在方法上有选择器这个选择器意味着他将自动调用方法而无需等待用户点击并且为了解决这个问题只有我们可以这样放置

 let customMenuItem1 = UIMenuItem(title: "Salvează", action: #selector(RulesDetailViewController.showNote))
    menuController.menuItems = NSArray(array: [customMenuItem1]) as? [UIMenuItem]

因为#selector 这个参数等待用户的触摸和事件。

于 2016-03-31T18:38:57.070 回答