/**
* 可以让一个label显示两种不同颜色,字体不同大小
*
* @param parentString 父字符串
* @param subString 需要改变颜色的子字符串
* @param color 颜色
* @param size 字体大小
*
* @return 处理后带属性的字符串
*/
- (NSMutableAttributedString*)fn_get_different_color_inLabel:(NSString*)parentString colorString:(NSString*)subString color:(UIColor*)color fontSize:(CGFloat)size{
NSMutableAttributedString *_parentString=[[NSMutableAttributedString alloc]initWithString:parentString];
NSRange subStr_range=[parentString rangeOfString:subString];
NSMutableDictionary *idic_strProperty=[NSMutableDictionary dictionary];
[idic_strProperty setObject:color forKey:NSForegroundColorAttributeName];
[idic_strProperty setObject:[UIFont systemFontOfSize:size] forKey:NSFontAttributeName];
[_parentString setAttributes:idic_strProperty range:subStr_range];
return _parentString;
}
/**
* 在原带有属性的字符串中拼接新的带属性的字符串
*
* @param parentString 原带有属性的字符串
* @param subString 新加属性的子串
* @param color 颜色
* @param size 字体大小
*
* @return 处理后带属性的字符串
*/
- (NSMutableAttributedString*)fn_append_withAttributedString_inLabel:(NSMutableAttributedString*)parentString subString:subString color:(UIColor*)color fontSize:(float)size{
NSMutableString *_parentString=[[NSMutableString alloc]initWithString:[parentString string]];
[_parentString appendString:subString];
NSMutableAttributedString *appended_parentString=[self fn_get_different_color_inLabel:_parentString colorString:subString color:color fontSize:size];
[appended_parentString replaceCharactersInRange:[_parentString rangeOfString:[parentString string]] withAttributedString:parentString];
NSRange parentStr_range=[_parentString rangeOfString:subString];
NSMutableDictionary *idic_strAttribute=[NSMutableDictionary dictionary];
[idic_strAttribute setObject:color forKey:NSForegroundColorAttributeName];
[idic_strAttribute setObject:[UIFont systemFontOfSize:size] forKey:NSFontAttributeName];
[appended_parentString setAttributes:idic_strAttribute range:parentStr_range];
return appended_parentString;
}
/**
* 可以让一个label显示多种不同颜色,字体多种不同大小
*
* @param parentString 父字符串
* @param subString 需要改变颜色的子字符串
* @param color 颜色
* @param size 字体大小
*
* @return 处理后带属性的字符串
*/
- (NSMutableAttributedString*)fn_get_multiple_color_inLabel:(NSMutableAttributedString*)parentString colorString:(NSString*)subString color:(UIColor*)color fontSize:(CGFloat)size{
NSRange subStr_range=[[parentString string] rangeOfString:subString];
NSMutableDictionary *idic_strProperty=[NSMutableDictionary dictionary];
[idic_strProperty setObject:color forKey:NSForegroundColorAttributeName];
[idic_strProperty setObject:[UIFont systemFontOfSize:size] forKey:NSFontAttributeName];
[parentString setAttributes:idic_strProperty range:subStr_range];
return parentString;
}