ios - 获取UITextView中链接的文本范围

标签 ios objective-c uitextview nsattributedstring

我有一个 UITextView,其中包含一个链接和一些其他文本。链接检测已启用并正在运行 (iOS8)。但是,我无法在 textView 中找到链接的范围。

这个想法是扫描文本(完成链接检测后)并将链接预加载到 Web View 中,以便当用户点击某处的元素时,Web View 可以显示自身。

如何获取 UITextView 中检测到的链接的范围?

最佳答案

如果您的目标是执行 Twitter 如何打开推文中的链接之类的操作,请执行以下操作:

  1. UITextView 的委托(delegate)设置为 View Controller 。
  2. 在 View Controller 中实现 UITextViewDelegate 方法 textView:shouldInteractWithURL:inRange:。当用户在 TextView 中选择链接时,将调用此函数。在该方法中,您需要返回 NO。但是,在返回 NO 之前,您应该创建一个具有 Web View 的新 View Controller ,并使用作为参数传入的 URL 加载 Web View 。

这不会像您提到的那样进行预加载,但我不确定您这样做是否出于特定原因(例如您希望 WebView 与 TextView 一起显示)或者您想要这样做只是因为您认为一旦用户点击链接就会有性能优势。

关于ios - 获取UITextView中链接的文本范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28595378/

相关文章:

ios - 如何管理 map 图钉? iOS

ios - 隐藏时淡入

iphone - 如何在 Objective-C 中使用 C 预处理器递增一个值?

ios - 如何在 UITextView 中水平和垂直对齐文本?

数据重新加载时,iOS Collection View 向上移动

ios - executeFetchRequest 在空核心数据上返回 nil

objective-c - 通过用户输入的名称调用函数

objective-c - NSTableView不显示objectValueForTableColumn方法的返回值

ios - UITextView如何以编程方式编辑一些字符串?

iphone - iOS:通过捏合来缩放 UITextView?