在 iOS13 中将 UILongPressGesture 添加到 UITableView

Adding UILongPressGesture to UITableView in iOS13

我使用 UILongPressGestureUITableView 一年多了,但我发现这在 iOS13 中不起作用。

在 iOS13 中,Apple 将此手势添加到 UIScrollView,我不确定将其替换为我自己的是否安全。

<UIScrollViewKnobLongPressGestureRecognizer: 0x7f938c051c00; state = Possible; target= <(action=_handleKnobLongPressGesture:, target= 0x7f938991b000>)>>

有人知道这个问题吗?或者知道 _handleKnobLongPressGesture 的目的是什么?

不确定手势识别器的用途,它可能与拖动滚动指示器的新手势有关,但这只是猜测。

您可以尝试让自己工作的一件事是将自己设置为删除手势,然后实施以下委托方法以始终 return true.

gestureRecognizer(_:shouldRecognizeSimultaneouslyWith:)

您没有显示您的代码或解释您的长按手势识别器的用途,但您的代码可能总是错误的。在iOS13中,你前面至少有两个长按手势识别器:

  • 长按调出UIMenu

  • 长按开始拖动(拖放)

您似乎不太可能添加长按手势识别器并设法协商运行时自身对长按的含义的期望要求。您最好修改手势以消除所有冲突的可能性。