Как предотвратить поведение dataDetector в textView? - PullRequest
0 голосов
/ 11 апреля 2020

Я создал экран, состоящий из текстового обзора. Внутри textview есть текст с номером телефона. Я включил детекторы данных, поэтому, когда пользователь касается номера, запускается событие вызова. Однако, когда я выполняю соответствующие тесты, на реальном устройстве при нажатии на телефонный номер оно перенаправляется на экран сообщений, а не на экран с предварительно заданными отметками.

1 Ответ

0 голосов
/ 11 апреля 2020

Вы должны реализовать следующий метод делегата UITextView:

func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool {
if URL.scheme == "tel" {
    let phone = URL.absoluteString.replacingOccurrences(of: "tel:", with: "")

    if let callUrl = URL(string: "tel://\(phone)"), UIApplication.shared.canOpenURL(callUrl) {
        UIApplication.shared.open(callUrl)
    }
}
return true
}

Пожалуйста, отметьте этот ответ для справки.

И не забудьте выполнить UITextViewDelegate

class ViewController: UITextViewDelegate { 

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...