我需要从 NSMutableAttributedString 中删除一些文本。
我的代码是这样的:
[attributedLabel setText:string afterInheritingLabelAttributesAndConfiguringWithBlock:^NSMutableAttributedString *(NSMutableAttributedString *mutableAttributedString)
{
NSRange stringRange = NSMakeRange(0, [mutableAttributedString length]);
NSRegularExpression *regexp = ParenthesisRegularExpression();
UIFont *italicSystemFont = [UIFont italicSystemFontOfSize:Size];
DLog(@"%@",italicSystemFont.fontName);
CTFontRef italicFont = CTFontCreateWithName((__bridge CFStringRef)italicSystemFont.fontName, italicSystemFont.pointSize, NULL);
[regexp enumerateMatchesInString:[mutableAttributedString string] options:0 range:stringRange usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {
if (italicFont) {
[mutableAttributedString removeAttribute:(NSString *)kCTFontAttributeName range:result.range];
[mutableAttributedString addAttribute:(NSString *)kCTFontAttributeName value:(__bridge id)italicFont range:result.range];
CFRelease(italicFont);
}
}];
return mutableAttributedString;
}];
我想从这个 mutableAttributedString 中删除括号。
试过这个:
[[attributedLabel.attributedText stringByReplacingOccurrencesOfString:@"(" withString:@""] stringByReplacingOccurrencesOfString:@")" withString:@""];
但是有
no visible interface in NSAttributedString for stringByReplacingOccurrencesOfString.
如何从 NSMutableAttributedString 中删除文本?
最佳答案
为什么你甚至假设 NSMutableAttributedString
响应 NSMutableString
响应的消息?他们不相互继承。相反,您应该阅读 documentation并使用 mutableString
方法获取要操作的可变字符串实例。
关于ios - 如何从 NSMutableAttributedString 中删除文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16799510/