iOS 像微博中可以点击连接、#text#、@somebody是如何做的,该怎样实现?
微博客户端中
- 连接
- #text#
- @somebody
是怎样实现的?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
微博客户端中
是怎样实现的?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(6)
通过 CoreText 实现(推荐):
NSAttributedString
;CoreText
绘制到CGContext
上;UIResponder
取到点击事件,并通过CoreText
API找到点击的具体文字,修改这部分的NSMutableAttributedString
(的颜色),并用CoreText
重新绘制。通过UIWebView实现:
UIWebView
可以直接显示一个网页,添加类似的链接很简单;UIWebView
的 delegate 方法中对点击的链接进行分析,执行相应的操作;UITableView
中使用UIWebView
,因为这会造成很严重的性能问题。有现成的open source:TTTAttributedLabel
https://github.com/mattt/TTTAttribute...
通常是嵌web页来实现
你可以做字符串解析,符合某种格式就输出为想要的形式,比如你要@某人,就分析,如果某段字符串满足“@用户名(用户id)”那么你就把这段字符串处理成超链接。
解析可以用Twitter的开源库 Twitter Text,有各种语言的port:https://github.com/twitter/twitter-te...,显示方面可以用CoreText去做,可以自己实现或者用DTCoreText或TTTAttributedLabel之类的库
获取UILabel点击的字符LCText
http://blog.csdn.net/mlcldh/a...