本文主要为项目中无处不在的NSAttributedString的属性做一次整理,方便之后开发时查询和测试
目录:
1. NSFontAttributeName;
2. NSParagraphStyleAttributeName;
3. NSForegroundColorAttributeName;
4. NSBackgroundColorAttributeName;
5. NSLigatureAttributeName;
6. NSKernAttributeName;
7. NSStrikethroughStyleAttributeName;
8. NSUnderlineStyleAttributeName;
9. NSStrokeColorAttributeName;
10.NSStrokeWidthAttributeName;
11.NSShadowAttributeName;
12.NSTextEffectAttributeName;
13.NSAttachmentAttributeName;
14.NSLinkAttributeName;
15.NSBaselineOffsetAttributeName;
16.NSUnderlineColorAttributeName;
17.NSStrikethroughColorAttributeName;
18.NSObliquenessAttributeName;
19.NSExpansionAttributeName;
20.NSWritingDirectionAttributeName;
21.NSVerticalGlyphFormAttributeName;
1.NSFontAttributeName
//字体 UIFont
2.NSParagraphStyleAttributeName
//段落样式
以下截图来自YYText
3.NSForegroundColorAttributeName
//字颜色 UIColor
4.NSBackgroundColorAttributeName
//背景色 UIColor
5.NSLigatureAttributeName
//连写,iOS只支持@(0)和@(1)
6.NSKernAttributeName
//字间距
7.NSStrikethroughStyleAttributeName
// 删除线
1 | @(NSUnderlineStyle)枚举值 |
剩下的几个枚举需要配合上面的枚举来使用1
2
3
4
5
6
7NSUnderlinePatternSolid NS_ENUM_AVAILABLE(10_0, 7_0) = 0x0000,//实线
NSUnderlinePatternDot NS_ENUM_AVAILABLE(10_0, 7_0) = 0x0100,//短 循环
NSUnderlinePatternDash NS_ENUM_AVAILABLE(10_0, 7_0) = 0x0200,//长 循环
NSUnderlinePatternDashDot NS_ENUM_AVAILABLE(10_0, 7_0) = 0x0300,//长短 循环
NSUnderlinePatternDashDotDot NS_ENUM_AVAILABLE(10_0, 7_0) = 0x0400,//长短短 循环
NSUnderlineByWord NS_ENUM_AVAILABLE(10_0, 7_0) = 0x8000//按单词分割
8.NSUnderlineStyleAttributeName
// 下划线(值也是枚举NSUnderlineStyle的数字类型-@(NSUnderlineStyle)参考NSStrikethroughStyleAttributeName)
9.NSStrokeColorAttributeName
// 笔画宽度和当前字的pointSize(字体大小)的比例,
正数真空效果
10.NSStrokeColorAttributeName
//NSStrokeColorAttributeName的颜色
11.NSShadowAttributeName
//阴影,参考NSShadow
12.NSTextEffectAttributeName
//凸版印刷体(现在就只有NSTextEffectLetterpressStyle一个值)
凸版印刷替效果是给文字加上奇妙阴影和高光,让文字看起有凹凸感,像是被压在屏幕上(这个描述真是有够夸张 = =!)
13.NSAttachmentAttributeName
//图文混排相关
1 | NSTextAttachment *attach=[[NSTextAttachment alloc]init]; |
14.NSLinkAttributeName
//链接,但是不负责点击的处理
1 | NSMutableAttributedString *base=[[NSMutableAttributedString alloc]initWithString:string attributes:nil]; |
一般配合UITextView使用1
2
3
4
5- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange
{
NSLog(@"=============%@",URL);
return YES;
}
15.NSBaselineOffsetAttributeName
//离BaseLine的距离
16.NSUnderlineColorAttributeName
//下划线的颜色
相关属性(NSUnderlineStyleAttributeName)
17.NSStrikethroughColorAttributeName
//中划线的颜色
相关属性(NSStrikethroughStyleAttributeName)
18.NSObliquenessAttributeName
//倾斜
19.NSExpansionAttributeName
//“胖”or “瘦”(拉伸or压缩)
20.NSWritingDirectionAttributeName
//文字的排布顺序(从左到右还是从右到左)
1 | //不太明白这个枚举值的两个意思...之后如果有机会明白再解释他们 |
21.NSVerticalGlyphFormAttributeName
//0横,1竖
在iOS上只有横排,不过可以通过CoreText来修改成竖排