繁体   English   中英

如何在UIWebView中打开链接

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM