iOSはすべての文字の変色フォント操作に一致します
1559 ワード
方法1
/**
@param String
@param searchString
@return range ( NSRangeFromString() NSRange)
*/
+ (NSArray *)getRangeWithString:(NSString *)String searchString:(NSString *)searchString;
+ (NSArray *)getRangeWithString:(NSString *)String searchString:(NSString *)searchString{
NSArray * stringArr = [String componentsSeparatedByString:searchString];
if (stringArr.count == 0) {
return @[];
}
NSMutableArray * rangeArr = [[NSMutableArray alloc]init];
NSInteger index = 0;
for (NSString * string in stringArr) {
NSRange range = NSMakeRange(index, searchString.length);
index = index + string.length + searchString.length;
[rangeArr addObject:NSStringFromRange(range)];
}
return rangeArr;
}
方法2NSMutableAttributedString *newString = [[NSMutableAttributedString alloc] initWithString:@" "];
NSRegularExpression *regex = [[NSRegularExpression alloc]initWithPattern:@" " options:NSRegularExpressionCaseInsensitive error:nil];
[regex enumerateMatchesInString:self.model.showtitle options:NSMatchingReportProgress range:NSMakeRange(0, newString.length) usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {
[newString addAttribute:(NSString*)NSForegroundColorAttributeName
value:[UIColor redColor]
range:result.range];
}];
self.aTitle.attributedText = newString;