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