我正在我的App中实现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
代表。
一切正常。我想要的是在上下文菜单消失后,第一次点击时就执行了选择委托。