首页 文章

Xcode,Swift:如何检测链接点击并停止重定向Safari?

提问于
浏览
1

我用 UITextView 创建了一个新的空白 Single View Application ,其中包含链接 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 回答

  • 2

    此代码将阻止在Safari中打开URL并在控制台中打印链接:

    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
        }
    }
    

相关问题