Выбранная строка в indexpath не работает после исчезновения контекстного меню в приложении iOS
Я реализую UIContextMenu
в моем приложении. Работает очень хорошо. Только одна проблема, как только контекстное меню появилось и исчезло,tableView
делегировать didSelectRowAt
indexPath не работает при первом нажатии, но работает при втором нажатии. Кажется, я не могу найти причину этого. Он отлично работает в приложении Mail по умолчанию на iPhone. Таким образом, я думаю, что есть что-то, чего мне не хватает. Выручи меня. Ответ приветствуется.
Я уже пробовал перезагружать tableView
. Также не нашел ничего полезного в документах.
@available(iOS 13.0, *)
func tableView(_ tableView: UITableView, contextMenuConfigurationForRowAt indexPath: IndexPath, point: CGPoint) -> UIContextMenuConfiguration? {
if indexPath.section == 0 {
let contextMenuConfiguration = UIContextMenuConfiguration(identifier: nil, previewProvider: nil) { (menuElements) -> UIMenu? in
let edit = UIAction(title: "Edit", image: UIImage.placeholderIcon) { (action) in
print("Edit")
self.editInvoice(at: indexPath)
}
let preview = UIAction(title: "Preview", image: UIImage.placeholderIcon) { (action) in
print("Preview")
}
let send = UIAction(title: "Send", image: UIImage.placeholderIcon) { (action) in
print("Send")
}
let share = UIAction(title: "Share", image: UIImage.placeholderIcon) { (action) in
print("Share")
}
return UIMenu(title: "", image: UIImage.invoiceIcon, identifier: nil, options: UIMenu.Options.displayInline, children: [edit, preview, send])
}
return contextMenuConfiguration
}
return nil
}
Это tableView
делегат я реализовал. Все работает нормально. Все, что я хочу, это то, что выбранный делегат запускается при первом нажатии после исчезновения контекстного меню.