【发布时间】:2016-06-17 10:44:10
【问题描述】:
我正在尝试将自定义项添加到我的表格视图菜单中,该菜单位于ViewController 中。我已经实现了所有必要的方法,但我的项目仍然没有出现。如果我使用默认项目,如“复制”,一切正常。我省略了 performAction 方法,因为我真的不知道要在那里添加什么,但是没有它就出现了复制操作。你能告诉我我做错了什么吗?我已附上我的代码以在下面添加自定义菜单项:
override func viewDidLoad() {
super.viewDidLoad()
let item = UIMenuItem(title: "Block and Report", action: #selector(MessageViewController.blockAndReport(_:)))
let menu = UIMenuController.sharedMenuController()
var newItems = menu.menuItems
?? [UIMenuItem]()
newItems.append(item)
menu.menuItems = newItems ...}
func tableView(tableView: UITableView, shouldShowMenuForRowAtIndexPath indexPath: NSIndexPath) -> Bool {
return true
}
func tableView(tableView: UITableView, canPerformAction action: Selector, forRowAtIndexPath indexPath: NSIndexPath, withSender sender: AnyObject?) -> Bool {
if action == #selector(MessageViewController.blockAndReport(_:)) {
return true
}
return false
}
func tableView(tableView: UITableView, performAction action: Selector, forRowAtIndexPath indexPath: NSIndexPath, withSender sender: AnyObject?) {
//I don't really know what to add here
}
func blockAndReport(sender: AnyObject?) {
print("Hello")
}
【问题讨论】:
标签: ios swift contextmenu cell menuitem