Контекстное меню не отображается в ячейке TableView с кнопкойIOS

Программируем под IOS
Anonymous
Контекстное меню не отображается в ячейке TableView с кнопкой

Сообщение Anonymous »


Я реализовал контекстное меню в UITableViewCell, используя методы делегата ячейки табличного представления

func tableView (_ tableView: UITableView, contextMenuConfigurationForRowAt indexPath: IndexPath, point: CGPoint) -> UIContextMenuConfiguration? func tableView (_ tableView: UITableView, предварительный просмотрForHighlightingContextMenuWithConfiguration конфигурация: UIContextMenuConfiguration) -> UITargetedPreview? func tableView (_ tableView: UITableView, предварительный просмотрForDismissingContextMenuWithConfiguration конфигурация: UIContextMenuConfiguration) -> UITargetedPreview? Внутри ячейки табличного представления есть кнопка. Обычно длительное нажатие на ячейку должно вызывать появление контекстного меню. Однако если пользователь долго нажимает кнопку или контейнер кнопки, контекстное меню не отображается, а вместо этого запускается действие кнопки.

Чтобы решить эту проблему, я отключил кнопку и добавил жест касания. Эта модификация позволила отображать контекстное меню при длительном нажатии, а обычный жест касания/щелчка работал как положено.

Мне немного любопытно, почему табличное представление не обрабатывает эту ситуацию автоматически и есть ли более элегантное решение для ее решения.

Вернуться в «IOS»