样式
代码
/**
* 字符串中 指定 字符串 变颜色
* label.attributedText = 方法
@ textStr : 字符串
@ searchstr : 要处理的字符串
@ color : 处理的字符串 给的颜色
*/
+ (NSMutableAttributedString *)onModifyStr:(NSString *)textStr subsearchstr:(NSString *)searchstr color:(UIColor *)color
{
NSMutableAttributedString *nameString = [[NSMutableAttributedString alloc] initWithString:textStr];
if (textStr.length == 0 || searchstr.length == 0)
{ // 防止卡死
return nameString;
}
for (int i = 0; i < textStr.length; i++)
{
if ((textStr.length - i) < searchstr.length)
{ //防止遍历剩下的字符少于搜索条件的字符而崩溃
}
else
{
NSString *str = [textStr substringWithRange:NSMakeRange(i, searchstr.length)];
if ([searchstr isEqualToString:str])
{
[nameString addAttribute:NSForegroundColorAttributeName value:color range:NSMakeRange(i, searchstr.length)];
i = i + (int)(searchstr.length) - 1;
}
}
}
return nameString;
}
样式
代码
/**
* 设置UILable 的字体和颜色
@ label :要设置的控件
@ str :要设置的字符串
@ textArray :有几个文字需要设置
@ colorArray :有几个颜色
@ fontArray :有几个字体
*/
- (void)setTextColorAndFont:(UILabel *)label str:(NSString *)string textArray:(NSArray *)textArray colorArray:(NSArray *)colorArray fontArray:(NSArray *)fontArray
{
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:string];
for (int i = 0; i < [textArray count]; i++)
{
NSRange range1 = [[str string] rangeOfString:textArray[i]];
[str addAttribute:NSForegroundColorAttributeName value:colorArray[i] range:range1];
[str addAttribute:NSFontAttributeName value:fontArray[i] range:range1];
}
label.attributedText = str;
}
样式