Swift如何检测是否已单击UITextView链接或UITextView的另一部分

时间:2018-11-09 09:29:44

标签: ios swift uitextview uitapgesturerecognizer

我有一个添加了GestureRecognizer的UITextView。我还打开了UITextView的链接。对于这两个轻击事件,仅运行UITextView touch(例如,单击链接不再打开地图)。我希望行为是链接触摸,否则,如果他们没有触摸链接,请运行我的GestureRecognizer。我该怎么做?

谢谢 马特

1 个答案:

答案 0 :(得分:-1)

selectable == true必须具有UITextView,才能识别链接上的点击。另外,您必须从true委托调用返回textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction)才能真正打开链接。成为手势识别器的代表并从gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer)返回true也是一个好主意。

否则,在文本视图上安装的手势识别器之间应该没有干扰:如果您点击一个链接,它将打开;点击其他位置会触发手势识别器(如果是点击识别器)。