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];
}
}];
原理就是遍历富文本中带有超链接标识的文本,替换掉他们本来的富文本样式。