我正在嘗試將自定義項目添加到我在ViewController
中找到的表格視圖菜單中。我已經實現了所有必要的方法,但是我的項目仍然不顯示。如果我使用默認項目,如「複製」,一切正常。我遺漏了performAction方法,因爲我真的不知道要在那裏添加什麼,但複製操作沒有它。你能告訴我我錯了嗎?我們已經附上我的代碼中添加自定義菜單項下面:將自定義項目添加到Swift中的表格視圖
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")
}
item是UIMenuItem類型,addSubview需要類型視圖。 – Michal