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 具有多个参数的自定义操作?的主要内容,如果未能解决你的问题,请参考以下文章