Я пытаюсь добавить пользовательский элемент в мое меню просмотра таблиц, которое находится в ViewController
. Я применил все необходимые методы, но мой элемент все еще не отображается. Если я использую элементы по умолчанию, например «копировать», все работает нормально. Я отказался от метода performAction, потому что я действительно не знаю, что добавить туда, но действие копии появилось без него. Не могли бы вы рассказать мне, что я ошибаюсь? Я приложил свой код, чтобы добавить свой пункт меню ниже:Добавление пользовательского элемента в Table View в 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")
}
изделие относится к типу UIMenuItem, для которого требуется тип просмотра типа addSubview. – Michal