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

时间:2018-12-09 14:51:53

标签: ios swift xcode safari

我使用包含链接Single View Application的{​​{1}}创建了一个新的空白UITextView

运行我的应用程序时,它会自动检测到该链接并将其变为蓝色。单击此链接后,它将在Apple Safari浏览器中打开。

如何检测链接单击并停止重定向到Safari?

我尝试了以下代码:

https://example.com

不幸的是,我没有在控制台中使用func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebView.NavigationType) -> Bool { print("Link clicked!") return false } ,它仍在重定向到Safari。

我在做什么错了?

1 个答案:

答案 0 :(得分:3)

此代码将阻止在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
    }
}