【发布时间】:2016-07-11 04:33:40
【问题描述】:
NSRange 有点问题。我有一个 CommentViewController 可以工作,但我正在尝试拥有一个 tapGesture 并在 @ 之后更改文本的颜色,就像在 Twitter 上提到的一样。出于某种原因,在某些单元格中,所有文本都会改变颜色,而不仅仅是提及。代码如下:
NSMutableAttributedString * string = [[NSMutableAttributedString alloc]initWithString:message[@"text"]];
NSArray *words=[message[@"text"] componentsSeparatedByString:@""];
for (NSString *word in words) {
if ([word hasPrefix:@"@"]) {
NSRange range=[message[@"text"] rangeOfString:word];
[string addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:range];
}
}
[cell.bodyLabel setAttributedText:string];
我做错了什么?如何在彩色部分添加手势?
【问题讨论】:
-
你想改变文字颜色。我的意思是前:iiiiii@gmail,你可以改变 gmail 的颜色。
-
我想更改“@gmail” - 是的!
-
NSArray *words=[message[@"text"] componentsSeparatedByString:@""];到 NSArray *words=[message[@"text"] componentsSeparatedByString:@" "];那里缺少空间
-
@HalesEnchanted 检查我的答案。
-
@HalesEnchanted ?
标签: ios objective-c uitableview nsstring nsrange