簡體   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