【发布时间】:2013-05-29 13:23:35
【问题描述】:
我昨天发布了这个问题:Removing parentheses from the string in iOS。但我仍然无法从标签中删除括号。
不知道我的错误是什么。整夜琢磨,还是没搞定。
我正在使用 TTTAttributedLabel。我的代码如下所示:
-(TTTAttributedLabel*)setItalicTextForLabel:(TTTAttributedLabel*)attributedLabel fontSize:(float)Size
{
[attributedLabel setText:[self.infoDictionary objectForKey:@"description"] 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;
}];
[[attributedLabel.text stringByReplacingOccurrencesOfString:@"[" withString:@""] stringByReplacingOccurrencesOfString:@"]" withString:@""];
return attributedLabel;
}
仍然无法删除括号。谁能指出我的错误?非常感谢您的帮助。
【问题讨论】:
-
我认为你的意思是括号,你试图删除这个字符,“[”对
-
说错了。编辑了问题。
-
我明白你在做什么。我所做的是修改
MGMushParser(GitHub 上的一个库)以获得我想要的结果。它将解析某些“标签”(在您的情况下为 [斜体文本])并将其替换为某些属性。
标签: ios objective-c uilabel nsmutableattributedstring