如何在UIWebView中打开链接

时间:2017-06-26 15:40:21

标签: ios swift uiwebview

我正在聊天应用程序,偶尔会收到一个链接。点击该链接后,我可以在Safari中查看该网页,我想在我的应用中的UIWebview中打开该链接。

我正在经历this article,而且这一切都很好,但是它提供了一个硬编码链接。我希望能够打开用户刚刚点击的链接。什么是实现这一目标的最佳方式?

2 个答案:

答案 0 :(得分:2)

基本上,您需要先要求textView识别网址

textView.text = "example www.google.com"
textView.isSelectable = true
textView.dataDetectorTypes = UIDataDetectorTypes.link

但是在委托方法shouldInteractWithURL中,返回false以便您的网址可以点击,但您不会跳转到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

答案 1 :(得分:0)

Jus设置UITextView的委托并实现此功能:

DataTable result = dt.AsEnumerable()
                     .GroupBy(x => x.Field<int>("COLUMN NAME"))
                     .Select(x => x.First()).CopyToDataTable();

请记住扩展UITextViewDelegate并将委托设置为self:

func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool {
    // open URL in UIWebView
}