iOS 修改超链接的富文本样式

NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithData:[@"需要修改的带有超链接的文本" dataUsingEncoding:NSUnicodeStringEncoding] options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType} documentAttributes:nil error:nil];
[attributedString enumerateAttributesInRange:NSMakeRange(0, attributedString.string.length) options:NSAttributedStringEnumerationReverse usingBlock:^(NSDictionary<NSString *,id> * _Nonnull attrs, NSRange range, BOOL * _Nonnull stop) {

        if ([attrs objectForKey:NSLinkAttributeName]) {
            [attributedString removeAttribute:NSFontAttributeName range:range];
            [attributedString addAttribute:NSFontAttributeName value:[PHAppskin appSFProDisplayMediumFont:[PHAppskin textFontSizeSubtitle]] range:range];
        }
    }];

原理就是遍历富文本中带有超链接标识的文本,替换掉他们本来的富文本样式。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容