我正在聊天应用程序,偶尔会收到一个链接。点击该链接后,我可以在Safari中查看该网页,我想在我的应用中的UIWebview中打开该链接。
我正在经历this article,而且这一切都很好,但是它提供了一个硬编码链接。我希望能够打开用户刚刚点击的链接。什么是实现这一目标的最佳方式?
答案 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
}