iOS 上的 NSAttributedString 和链接
我正在尝试向正在使用 CoreText 处理和绘制的文本的某些部分添加超链接。
根据Apple在CoreText上的文档,我应该使用addAttribute:NSLinkAttributeName,但是在iOS(4.3)上它说它不知道NSLinkAttributeName。 在我的文档搜索中,看起来 NSLinkAttributeName 仅仍然存在于 Mac 上。
它可以在 iOS 上使用吗?我只是缺少一些东西? 如果不可用,如何使用 NSMutableAttributedString 和 CoreText 在部分文本上创建超链接?
谢谢
I am trying to add a hyperlink to certain parts of my text which is being handled and drawn using CoreText.
According to Apple's docs on CoreText I should be using addAttribute:NSLinkAttributeName
however on iOS (4.3) it says it doesn't know NSLinkAttributeName.
In my document searches it looks like NSLinkAttributeName only still exists on the Mac.
Is it available on iOS and I am just missing something?
If it's not available how can I create a hyperlink on part of a text using NSMutableAttributedString and CoreText?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
从 iOS 7 开始,
UITextView
支持属性字符串中的链接:默认情况下,链接呈现为蓝色文本。您可以使用
UITextView
的linkTextAttributes
属性更改样式。如果您在
UITextView
上将editable
设置为NO
,链接将变为可点击。As of iOS 7,
UITextView
supports links in attributed strings:By default, links are rendered as blue text. You can change the style with
UITextView
'slinkTextAttributes
property.If you set
editable
toNO
on theUITextView
, links become tappable.Jeremy 发布了
JTextView
,一个基于核心文本的UITextView 支持属性文本(包括链接)的类似物。
简而言之,JTextView:
-drawRect:
中,它使用数据检测器来链接。如果找到链接,它会为相应范围设置其自定义属性。Jeremy has published
JTextView
, a Core Text-basedUITextView
analogue that supports attributed text, including links.In a nutshell, JTextView:
-drawRect:
, it uses a data detector for links. If a link has been found, it sets its custom attribute for the corresponding range我知道这是一个老问题,但是......
尝试使用 NSMutableAttributedString。它有两种属性方法:
和
I know this is an old question, but...
Try using NSMutableAttributedString. It has two methods for attributes:
and
使用 UITextView,它会解析您的文本并将链接转换为蓝色下划线的超链接:
Use a UITextView, it will parse your text and turn links into blue underlined hyperlinks:
是的,它不存在,如果您将搜索范围缩小到 iOS 库,它不会为您提供
NSLinkAttributeName
的任何结果。它不在那里……官方的,也许是私人的?这篇好文章提到了超链接,但没有显示示例。我怀疑公共 API 方法是否可行。
Yes it doesn't exist, if you reduce your search to iOS Library it won't give you any results for
NSLinkAttributeName
. It's not there...officially, maybe private?This nice article mentions hyperlinks but does not show an example. I doubt that it's possible with public API methods.