[英]How to open a link in UIWebView
我有一个聊天应用程序,偶尔会收到一个链接。 单击该链接后,我可以在Safari中查看该网页,我想改为在我的应用程序的UIWebview中打开该链接。
我正在阅读本文 ,尽管它很好,但是它提供了一个硬编码的链接。 我希望能够打开用户刚刚单击的链接。 什么是实现这一目标的最佳方法?
基本上,您首先需要让textView
识别网址
textView.text = "example www.google.com"
textView.isSelectable = true
textView.dataDetectorTypes = UIDataDetectorTypes.link
但是,然后在委托方法shouldInteractWithURL
,返回false,以便您的URL可单击,但不会跳转到Safari。
extension ViewController: UITextViewDelegate {
func textView(_ textView: UITextView, shouldInteractWith url: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool {
print(url)
//load url to YOUR web view here!
return false
}
}
不要忘记设置代表!
textView.delegate = self
Jus设置了UITextView的委托并实现了此功能:
func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool {
// open URL in UIWebView
}
记住要扩展UITextViewDelegate并将委托设置为self:
@IBOutlet var textview: UITextView!
class SomeVC: UIViewController, UITextViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
textview.delegate = self
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.