Objective C,将 html 转换为 NSAttributedString 并禁用超链接

Posted

技术标签:

【中文标题】Objective C,将 html 转换为 NSAttributedString 并禁用超链接【英文标题】:Objective C, Convert html to NSAttributeString and disable the hyperlinks 【发布时间】:2018-01-17 20:58:08 【问题描述】:

我正在使用

    [[NSAttributedString alloc] initWithData:[htmlText                         
    dataUsingEncoding:NSUTF8StringEncoding] options:options 
    documentAttributes:NULL error:NULL];  

将 HTML 字符串转换为 AttributeString 并在 textView 中使用它,但是,我不希望文本中的超链接在 textView 中可点击,有什么办法可以删除文本后面的超链接?

【问题讨论】:

【参考方案1】:

NS(Mutable)AttributedString 中的链接由属性NSAccessibilityLinkTextAttribute 表示。您可以删除单个属性。概述:

制作属性字符串的可变副本 使用enumerateAttribute:inRange:options:usingBlock: 定位所有链接 在传递给上面的块中使用removeAttribute:range:删除链接

阅读 Apple 的 NSAtributedString documentation。 高温

【讨论】:

以上是关于Objective C,将 html 转换为 NSAttributedString 并禁用超链接的主要内容,如果未能解决你的问题,请参考以下文章

将方法从 Objective C 转换为 Swift

Objective C 将 int 转换为 NSString (iPhone)

从 Objective C 将回调/闭包转换为 Swift

将字符串转换为int-objective c [重复]

将 Javascript 转换为 Objective C(数字的后 4 位)

Objective C 将 NSDictionary valueForKeyPath 转换为字符串