注:下面一些例子我没写进来,想详细了解可以去这里看看我也不知道谁是原创,找了个排版好看点的分享一下
1.NSFontAttributeName 设置字体属性,默认值:字体:Helvetica(Neue) 字号:12
2.NSForegroundColorAttributeNam 设置字体颜色,取值为 UIColor对象,默认值为黑色
注意:NSForegroundColorAttributeName设置的颜色与UILabel的textColor属性设置的颜色在地位上是相等的,谁最后赋值,最终显示的就是谁的颜色。
3.NSBackgroundColorAttributeName 设置字体所在区域背景颜色,取值为 UIColor对象,默认值为nil, 透明色
1. 我并没有关闭 NSForegroundColorAttributeName 属性,但是在运行结果中,所有字体的颜色都变成了默认色——黑色,这说明 NSForegroundColorAttributeName 和 NSBackgroundColorAttributeName 的低位是相等的,跟前面介绍的 textColor 一样,哪个属性最后一次赋值,就会冲掉前面的效果,若是我们把属性代码顺序交换一下就证明上述结论了!
2.但是textColor属性可以与 NSBackgroundColorAttributeName 属性叠加!虽然 textColor 在 NSFontAttributeName 之前赋值,但是由于 NSFontAttributeName 的属性效果被NSBackgroundColorAttributeName 属性冲掉了,所以最终显示了 textColor 的颜色。
4.NSLigatureAttributeName 设置连体属性,取值为NSNumber 对象(整数),0 表示没有连体字符,1 表示使用默认的连体字符
2 表示使用所有连体符号,默认值为 1(iOS 不支持 2)
由于要展示连体字符,所以将前面使用的带有中文的字符串换成 flush
注意观察字母f和l之间的变化。感觉连写就是一个艺术字功能,当字符f和l组合使用组合符号(所谓的字形(glyph))绘制时,看起来确实更加美观。但是并非所有的字符之间都有组合符号,事实上,只有某些字体中得某些字符的组合(如字符f和l,字符f和i等)才具有美观的组合符号。
5.NSKernAttributeName 设定字符间距,取值为 NSNumber 对象(整数),正值间距加宽,负值间距变窄
6.NSStrikethroughStyleAttributeName 设置删除线,取值为 NSNumber 对象(整数)
NSUnderlineStyle中的值
NSUnderlineStyleNone 不设置删除线
NSUnderlineStyleSingle 设置删除线为细单实线
NSUnderlineStyleThick 设置删除线为粗单实线
NSUnderlineStyleDouble 设置删除线为细双实线
注意:虽然使用了枚举常量,但是枚举常量的本质仍为整数,所以同样必须先转化为 NSNumber 才能使用删除线和下划线使用相同的枚举常量作为其属性值。目前iOS中只有上面列出的4中效果,虽然我们能够在头文件中发现其他更多的取值,但是使用后没有任何效果
可以看出,中文和英文删除线的位置有所不同
另外,删除线属性取值除了上面的4种外,其实还可以取其他整数值,有兴趣的可以自行试验,取值为 0 - 7时,效果为单实线,随着值得增加,单实线逐渐变粗,取值为 9 - 15时,效果为双实线,取值越大,双实线越粗。
7.NSStrikethroughColorAttributeName 设置删除线颜色,取值为 UIColor 对象,默认值为黑色
8.NSUnderlineStyleAttributeName 设置下划线,取值为 NSNumber 对象(整数),枚举常量NSUnderlineStyle中的值,与删除线类似
9.NSUnderlineColorAttributeName 设置下划线颜色,取值为 UIColor 对象,默认值为黑色
10.NSStrokeWidthAttributeName 设置笔画宽度,取值为 NSNumber 对象(整数),负值填充效果,正值中空效果
11. NSStrokeColorAttributeName 填充部分颜色,不是字体颜色,取值为 UIColor 对象
12. NSShadowAttributeName 设置阴影属性,取值为 NSShadow 对象
13. NSTextEffectAttributeName 设置文本特殊效果,取值为 NSString 对象,目前只有图版印刷效果可用:
14. NSBaselineOffsetAttributeName 设置基线偏移值,取值为 NSNumber (float),正值上偏,负值下偏
15. NSObliquenessAttributeName 设置字形倾斜度,取值为 NSNumber (float),正值右倾,负值左倾
16. NSExpansionAttributeName 设置文本横向拉伸属性,取值为 NSNumber (float),正值横向拉伸文本,负值横向压缩文本
17. NSWritingDirectionAttributeName 设置文字书写方向,从左向右书写或者从右向左书写
18. NSVerticalGlyphFormAttributeName 设置文字排版方向,取值为 NSNumber 对象(整数),0 表示横排文本,1 表示竖排文本
19. NSLinkAttributeName 设置链接属性,点击后调用浏览器打开指定URL地址
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"www.google.com"];
NSDictionary *linkDic = @{ NSLinkAttributeName : [NSURL URLWithString:@"http://www.google.com"] };
[str setAttributes:linkDic range:[[str string] rangeOfString:@"www.google.com"]];
_textView.attributedText = str;
20. NSAttachmentAttributeName 设置文本附件,取值为NSTextAttachment对象,常用于文字图片混排
21. NSParagraphStyleAttributeName 设置文本段落排版格式,取值为 NSParagraphStyle 对象