Как прервать, нажимают на ссылку в UITextView?

Действительно ли возможно выполнить пользовательское действие, когда пользователь касается автоматически обнаруженной линии телефонной связи в UITextView. Не делайте совета использовать UIWebView вместо этого.

И только повторите текст из ссылки классов яблока - конечно, я уже считал его.

Спасибо.

96
задан Vladimir 31 March 2010 в 08:51
поделиться

3 ответа

Не уверен, как вы будете перехватывать обнаруженный канал передачи данных, или какой тип функции вам нужно запустить. Но вы можете использовать метод didBeginEditing TextField для проверки/сканирования текстового поля, если знаете, что ищете. Например, сравнить текстовые строки, которые соответствуют формату ###-###-#### или начинаются с "www.", чтобы захватить эти поля, но вам придется написать небольшой код, чтобы просмотреть строку текстового поля, определить, что вам нужно, а затем извлечь это для использования вашей функцией. Я не думаю, что это будет так уж сложно, если вы точно определите, что именно вам нужно, а затем сфокусируете свои фильтры оператора if() на очень конкретном шаблоне соответствия тому, что вам нужно.

Конечно, это подразумевает, что пользователь собирается коснуться текстового поля, чтобы активировать функцию didBeginEditing(). Если это не тот тип взаимодействия с пользователем, который вам нужен, вы могли бы просто использовать триггерный таймер, который запускается по ViewDidAppear() или по другому, основанному на необходимости, и проходит через строку textfields, затем в конце прохождения через методы строки textfield, которые вы построили, вы просто выключаете таймер.

0
ответ дан 24 November 2019 в 05:36
поделиться

Я сам не пробовал, но вы можете попробовать реализовать метод application: handleOpenURL: в делегате приложения - это выглядит так все запросы openURL проходят через этот обратный вызов.

0
ответ дан 24 November 2019 в 05:36
поделиться

application: handleOpenURL: вызывается, когда другое приложение открывает ваше приложение, открывая URL-адрес со схемой, поддерживаемой вашим приложением. Он не вызывается, когда ваше приложение начинает открывать URL-адрес.

Я думаю, что единственный способ сделать то, что хочет Владимир, - использовать UIWebView вместо UITextView. Сделайте свой контроллер представления реализацией UIWebViewDelegate, установите делегат UIWebView на контроллер представления, а в контроллере представления реализуйте webView: shouldStartLoadWithRequest: navigationType: , чтобы вместо этого открыть [URL-адрес запроса] в представлении. выхода из приложения и открытия его в Mobile Safari.

0
ответ дан 24 November 2019 в 05:36
поделиться