我使用包含链接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。
我在做什么错了?
答案 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
}
}