扫码关注官方订阅号
微博客户端中
是怎样实现的?
认证高级PHP讲师
NSAttributedString
CoreText
CGContext
UIResponder
NSMutableAttributedString
相关文档 http://developer.apple.com/library/ios/#documentation/StringsTextFonts/Conceptual/CoreText_Programming/Introduction/Introduction.html#//apple_ref/doc/uid/TP40005533
UIWebView
UITableView
有现成的open source:TTTAttributedLabelhttps://github.com/mattt/TTTAttribute...
通常是嵌web页来实现
你可以做字符串解析,符合某种格式就输出为想要的形式,比如你要@某人,就分析,如果某段字符串满足“@用户名(用户id)”那么你就把这段字符串处理成超链接。
解析可以用Twitter的开源库 Twitter Text,有各种语言的port:https://github.com/twitter/twitter-te...,显示方面可以用CoreText去做,可以自己实现或者用DTCoreText或TTTAttributedLabel之类的库
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
通过 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之类的库