UIMenuContoller UIMenuItem 具有多个参数的自定义操作?

Posted

技术标签:

【中文标题】UIMenuContoller UIMenuItem 具有多个参数的自定义操作?【英文标题】:UIMenuContoller UIMenuItem custom action with multiple parameters? 【发布时间】:2016-03-17 16:02:20 【问题描述】:

我正在创建我的自定义 UIMenuItem 并将其添加到共享 UIMenuController 的 menuItems 数组中:

let menuItemCustom = UIMenuItem(title: "Custom action", action: "customAction:")
UIMenuController.sharedMenuController().menuItems = [menuItemCustom]

然后我在canPerformAction 函数中启用标准copy 操作和我的自定义操作:

func canPerformAction(action: Selector, withSender sender: AnyObject?) -> Bool 
    return action == "copy:" || action == "customAction:"

传递给我的自定义操作的参数是 UIMenuController:

func customAction(menuController: UIMenuController) 


有没有办法将其他东西作为参数传递,或者有多个参数?当我尝试做这样的事情时:

"customAction::"

我的自定义操作被忽略了。

【问题讨论】:

【参考方案1】:

"customAction:" 之类的操作被包装到一个 Objective-C 选择器中。

您不能通过选择器传递其他参数。

【讨论】:

感谢您的回答。我设法使用"customAction:withObject:" 两次通过了相同的UIMenuController,但这并不是很有帮助。我最终解决了我试图使用委托实现的目标。

以上是关于UIMenuContoller UIMenuItem 具有多个参数的自定义操作?的主要内容,如果未能解决你的问题,请参考以下文章