【发布时间】:2014-05-05 09:49:51
【问题描述】:
在这个伟大社区的帮助下,我已经为此工作了几天。
我有一个NSArray,我需要在其中编辑NSStrings。我设法检测到字符串中的标记并将其设为粗体。但是现在我试图按照它们在 NSArray 中的顺序显示字符串,同时保持添加到特定字符串的粗体。
我可以显示单独的粗体字符串“string”,但我需要它以使其位于数组中。我知道stringByAppendingString,但这会把它放在最后。
任何方向都会很棒。
for (NSString *testWord in legislationArray) {
if ([testWord rangeOfString:@"BOLDME"].location != NSNotFound) {
//Remove Marker
NSString *stripped = [testWord stringByReplacingOccurrencesOfString:@"BOLDME" withString:@""];
//Get string and add bold
NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:stripped];
NSRange selectedRange = [stripped rangeOfString:(stripped)];
[string beginEditing];
[string addAttribute:NSFontAttributeName
value:[UIFont fontWithName:@"Helvetica-Bold" size:18.0]
range:selectedRange];
[string endEditing];
//Where to go now with string?
}
}
cell.dynamicLabel.text = [legislationArray componentsJoinedByString:@"\n"];
编辑
根据下面的答案,我得到了它的工作,但是粗体方法调用了这个错误:
【问题讨论】:
-
您的附加问题不是错误 - 这是 XCode 在调试窗口中显示属性字符串的一种方式。我已在答案中添加了屏幕截图。
标签: ios objective-c nsstring nsarray nsattributedstring