我试图让某些字符在两个字符之间是不同的颜色,<
并且>
. 我尝试使用这种方法来做到这一点
-(NSString*)stringBetweenString:(NSString*)start andString:(NSString*)end fromString:(NSString*)other{
NSScanner* scanner = [NSScanner scannerWithString:other];
[scanner setCharactersToBeSkipped:nil];
[scanner scanUpToString:start intoString:NULL];
if ([scanner scanString:start intoString:NULL]) {
NSString* result = nil;
if ([scanner scanUpToString:end intoString:&result]) {
return result;
}
}
return nil;
}
这就是我想要的,但仅限于一个子字符串。我在这些字符之间有多个子字符串,并且希望它们都是不同的颜色。我用来改变颜色的方法是这样的
[self.tv setTextColor:[NSColor redColor] range:[s1 rangeOfString:[self stringBetweenString:@"<" andString:@">" otherString:s1] options:NSCaseInsensitiveSearch]];
哪里self.tv
是NSTextView
。如何获取多个子字符串的范围并更改这些子字符串的颜色?