Я читаю, но не могу исправить это странное поведение.
Я использую UIContextMenu
в приложении Ma c Catalyst. Всякий раз, когда пользователь щелкает правой кнопкой мыши по tableViewCell
, мне нужно получить объект источника данных для этой строки.
Я реализовал следующее:
func contextMenuInteraction(_ interaction: UIContextMenuInteraction, configurationForMenuAtLocation location: CGPoint) -> UIContextMenuConfiguration? {
let indexPath = tableView.indexPathForRow(at: location)
print("location:", location)
let object = ds[indexPath.row]
//.... rest of the code
}
Выше всегда печатается, что indexPath (0, 0)
, хотя у меня больше ячеек.
Я попытался преобразовать местоположение в tableView
с помощью следующего:
let locationInTableView = view.convert(location, to: tableView)
Затем используйте его с:
let indexPath = tableView.indexPathForRow(at: locationInTableView)
Но результат всегда один и тот же.
Я что-то здесь не так делаю?