2つの文字の間にある場合、特定の文字が異なる色になるようにしようとしてい<
ます>
。私はそれをするためにこの方法を使ってみました
-(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;
}
そしてそれは私が望むことをしますが、1つの部分文字列に対してのみです。それらの文字の間に複数の部分文字列があり、それらすべてを異なる色にしたいと思います。色を変えるのに使う方法はこれです
[self.tv setTextColor:[NSColor redColor] range:[s1 rangeOfString:[self stringBetweenString:@"<" andString:@">" otherString:s1] options:NSCaseInsensitiveSearch]];
はどこself.tv
にありますかNSTextView
。複数の部分文字列の範囲を取得し、それらの部分文字列の色を変更するにはどうすればよいですか?