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

Я создал новый бланк Single View Application с UITextView, который содержит ссылку https://example.com.

При запуске моего приложения оно автоматически определяет эту ссылку и делает ее синей.При нажатии на эту ссылку она открывается в браузере Apple Safari.

Как определить, что ссылка щелкнула и перестать перенаправлять в Safari?

Я попробовал следующий код:

func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebView.NavigationType) -> Bool {
    print("Link clicked!")
    return false
}

К сожалению, я не получаю print("Link clicked!") в консоли, и он все еще перенаправляется в Safari.

Что я делаю не так?

1 Ответ

0 голосов
/ 09 декабря 2018

Этот код запретит открывать URL в Safari и напечатает ссылку в консоли:

import UIKit

class ViewController: UIViewController, UITextViewDelegate {

    @IBOutlet var myTextViewAction: UITextView!

    override func viewDidLoad() {
        super.viewDidLoad()
        myTextViewAction.delegate = self
    }

    func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool {
        print("\nThis link was clicked: \(URL.absoluteString)\n")
        return false
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...