выбрал строку в indexpath не работает после исчезновения контекстного меню в приложении iOS - PullRequest
1 голос
/ 22 октября 2019

Я реализую UIContextMenu в моем приложении. Работает очень хорошо. Проблема только одна: после появления и исчезновения контекстного меню tableView делегат didSelectRowAt indexPath не работает при первом нажатии, но работает при втором нажатии. Кажется, я не могу найти причину этого. Он прекрасно работает в приложении «Почта по умолчанию» в 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, который я реализовал. Все работает отлично. Все, что я хочу, это чтобы выбранные делегаты запускались при первом нажатии после исчезновения контекстного меню.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...