Swift, как определить, была ли нажата ссылка UITextView или другая часть UITextView - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть UITextView, к которому я добавил GestureRecognizer. Я также включил ссылки для UITextView. При обоих событиях касания выполняется только касание UITextView (например, нажатие на ссылку больше не открывает карты). Я хочу, чтобы поведение касалось ссылки, иначе, если они не коснулись ссылки, запустите мой GestureRecognizer. Как мне это сделать?

Спасибо Matt

1 Ответ

0 голосов
/ 09 ноября 2018

У вас должно быть selectable == true, чтобы UITextView распознавал нажатия на ссылки. Также вы должны вернуть true из вызова участника textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction), чтобы фактически открыть ссылку. Также хорошей идеей будет стать делегатом вашего распознавателя жестов и вернуть true из gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer).

В противном случае не должно быть помех между распознавателями жестов, установленными в текстовом представлении: если вы нажмете на ссылку, она откроется; при нажатии в другом месте запускается распознаватель жестов (в случае распознавателя касаний).

...