Ich habe ein kleines Problem mit NSRange
. Ich habe eine CommentViewController
, die funktioniert, aber ich versuche, eine tapGesture
haben und ändern Sie die Farbe des Textes direkt nach der @, wie eine Twitter-Erwähnung. Aus irgendeinem Grund ändert in einigen Zellen der gesamte Text die Farbe, anstatt nur die Erwähnung. Hier ist der Code:Behandlung von NSRange in UITableViewCell
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];
Was mache ich falsch und wie füge ich eine Geste zum farbigen Teil?
Sie möchten die Textfarbe ändern. ich meine ex: iiiii @ gmail Sie können die Google Mail-Farbe ändern. –
Ich möchte "@gmail" ändern - ja! – HalesEnchanted
NSArray * words = [Nachricht [@ "Text"] componentsSeparatedByString: @ ""]; zu NSArray * words = [Nachricht [@ "Text"] componentsSeparatedByString: @ ""]; Raum fehlt dort –