NSMutableAttributedString(富文本属性可变字符串) string的N多的样式

有时候,APP上面,button,label等控件里面的text属性的样式会是很多千奇百怪的造型,本文就收集了一些常用的样式以供参考

NSFontAttributeName :字体字号
value值:UIFont类型

NSParagraphStyleAttributeName : 段落样式
value值:NSParagraphStyle类型(其属性如下
lineSpacing 行间距(具体用法可查看上面的设置行间距API)
paragraphSpacing 段落间距
alignment 对齐方式
firstLineHeadIndent 指定段落开始的缩进像素
headIndent 调整全部文字的缩进像素

NSForegroundColorAttributeName 字体颜色
value值:UIColor类型

NSBackgroundColorAttributeName 背景颜色
value值:UIColor类型

NSObliquenessAttributeName 字体粗倾斜
value值:NSNumber类型

NSExpansionAttributeName 字体加粗
value值:NSNumber类型(比例) 0就是不变 1增加一倍

NSKernAttributeName 字间距
value值:CGFloat类型

NSUnderlineStyleAttributeName 下划线
value值:1或0

NSUnderlineColorAttributeName 下划线颜色
value值:UIColor类型

NSStrikethroughStyleAttributeName 删除线
value值:1或0

NSStrikethroughColorAttributeName 删除线颜色
value值:UIColor类型

NSStrokeColorAttributeName 字体颜色
value值:UIColor类型

NSStrokeWidthAttributeName 字体描边
value值:CGFloat

NSLigatureAttributeName 连笔字
value值:1或0

NSShadowAttributeName 阴影
value值:NSShawdow类型(下面是其属性)
shadowOffset 影子与字符串的偏移量
shadowBlurRadius 影子的模糊程度
shadowColor 影子的颜色

NSTextEffectAttributeName 设置文本特殊效果,目前只有图版印刷效果可用
value值:NSString类型

NSAttachmentAttributeName 设置文本附件
value值:NSTextAttachment类型(没研究过,可自行百度研究)

NSLinkAttributeName 链接
value值:NSURL (preferred) or NSString类型

NSBaselineOffsetAttributeName 基准线偏移
value值:NSNumber类型

NSWritingDirectionAttributeName 文字方向 分别代表不同的文字出现方向
value值:@[@(1),@(2)]

NSVerticalGlyphFormAttributeName 水平或者竖直文本 在iOS没卵用,不支持竖版
value值:1竖直 0水平

此处留两个简单的使用,否则光看到属性也很摸不着头脑,而且以我下面的例子为例,每一个属性对应的value值并非一成不变,如下所示删除线的value的值为0和1,但是当我把value值设置单线,双线也是可以的(这个也是我无意中发现),所以很多东西都需要自己多试试才能获得满意的答案

前面四中都是修饰的删除线


NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"没有帐号/立即注册"];
 NSRange strRange = {0,[str length]};
 [str addAttribute:NSStrikethroughStyleAttributeName value:@0 range:strRange];
 [Btn setAttributedTitle:str forState:UIControlStateNormal];
value=0
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"没有帐号/立即注册"];
 NSRange strRange = {0,[str length]};
 [str addAttribute:NSStrikethroughStyleAttributeName value:@1 range:strRange];
 [Btn setAttributedTitle:str forState:UIControlStateNormal];
value=1
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"没有帐号/立即注册"];
NSRange strRange = {0,[str length]};
[str addAttribute:NSStrikethroughStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:strRange];
[Btn setAttributedTitle:str forState:UIControlStateNormal];
删除线
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"没有帐号/立即注册"];
NSRange strRange = {0,[str length]};
 [str addAttribute:NSStrikethroughStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleDouble] range:strRange];
 [Btn setAttributedTitle:str forState:UIControlStateNormal];
双删除线

下划线

NSMutableAttributedString *str = [[NSMutableAttributedStringalloc] initWithString:@"没有帐号/立即注册"];
NSRange strRange = {0,[str length]};
[str addAttribute:NSUnderlineStyleAttributeNamevalue:[NSNumbernumberWithInteger:NSUnderlineStyleSingle] range:strRange];
[Btn setAttributedTitle:str forState:UIControlStateNormal];
下划线

沙漠骑士

你可能感兴趣的:(NSMutableAttributedString(富文本属性可变字符串) string的N多的样式)