我正在尝试在我的应用程序中显示一些文本,其中文本中可能有一些 URL。我希望 URL 突出显示为超链接和可点击。此外,当它被点击时,我想提供一个回调,我可以在其中执行自定义操作。当然,应该将 URL 传递回我的回调,以便我知道如何处理它(比如在应用内浏览器中打开它等)。
这听起来可能很复杂,但基本上应用商店中的所有 IM 应用(其中超过 30 个)都具有此功能,用户可以发送包含 URL 的 IM,接收端可以单击它并在应用内浏览器中打开页面.
这是怎么做到的?我就是想不通。如果您有解决方案,请提供示例代码。谢谢你。
顺便提一句:
答案不是 UIWebView(因为渲染它的多个实例非常慢)。
答案也不是UITextView,因为虽然它能够解析 URL,但不能在点击时设置自定义回调。所以它只是结束了野生动物园。
答案也不是TTStyledTextLabel,因为虽然它能够解析 URL 并为其分配自定义操作,但它需要在 URLMap 中预先分配。显然,在这种情况下,我们事先并不知道 URL 是什么。据我所知,您不能将所有 url 分配给自定义操作。