您的位置:首页 > 其它

AttributedString设置字体属性

2015-06-21 15:32 316 查看
///
改变字体大小及字体颜色,区分字体的颜色还是字体背景色
+ (void)AttributedString:(NSMutableAttributedString *)attributedStr
text:(NSString *)text font:(UIFont *)font color:(UIColor *)color bgColor:(BOOL)bgColor
{
if ((!attributedStr || 0 == attributedStr.length) || (!text || 0 == text.length) || !font || !color)
{
return;
}

//
字体设置范围
NSRange range = [attributedStr.string rangeOfString:text];

//
字体大小
[attributedStr addAttribute:NSFontAttributeName
value:font
range:range];

//
字体颜色
[attributedStr addAttribute:(bgColor ? NSBackgroundColorAttributeName : NSForegroundColorAttributeName)
value:color
range:range];
}

///
设置字体的下划线,或删除线,及其线条大小、颜色与类型(如下划线单线类型NSUnderlineStyleSingle)
+ (void)AttributedString:(NSMutableAttributedString *)attributedStr
text:(NSString *)text textColor:(UIColor *)textcolor
lineStyle:(BOOL)delete lineType:(NSInteger)type lineWidth:(CGFloat)width lineColor:(UIColor *)color
{
if ((!attributedStr || 0 == attributedStr.length) || (!text || 0 == text.length))
{
return;
}

//
字体设置范围
NSRange range = [attributedStr.string rangeOfString:text];

//
设置字体颜色
[attributedStr addAttribute:NSStrokeColorAttributeName
value:textcolor
range:range];

//
线条大小
[attributedStr addAttribute:NSStrokeWidthAttributeName
value:[NSNumber numberWithFloat:width]
range:range];

//
线条颜色
[attributedStr addAttribute:NSForegroundColorAttributeName
value:color
range:range];

// 线条样式,删除线,或下划线
[attributedStr addAttribute:(delete ? NSStrikethroughStyleAttributeName : NSUnderlineStyleAttributeName)
value:[NSNumber numberWithInteger:type]
range:range];
}

///
设置字体阴影色
+ (void)AttributedString:(NSMutableAttributedString *)attributedStr
text:(NSString *)text shadowColor:(UIColor *)color
{
if ((!attributedStr || 0 == attributedStr.length) || (!text || 0 == text.length))
{
return;
}

//
字体设置范围
NSRange range = [attributedStr.string rangeOfString:text];

//
字体阴影色
// [attributedStr addAttribute:NSShadowAttributeName
// value:color
// range:range];
//
笔画的阴影效果
NSShadow *shadow = [[NSShadow alloc] init];
shadow.shadowColor = color; //
阴影颜色
shadow.shadowBlurRadius = 3.0; //
阴影扩散范围
shadow.shadowOffset = CGSizeMake(0.0, 0.0); //
阴影偏移位置
[attributedStr addAttribute:NSShadowAttributeName
value:shadow
range:range];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: