AttributedString的各个属性

注:下面一些例子我没写进来,想详细了解可以去这里看看我也不知道谁是原创,找了个排版好看点的分享一下


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;

AttributedString的各个属性_第1张图片

20. NSAttachmentAttributeName          设置文本附件,取值为NSTextAttachment对象,常用于文字图片混排

21. NSParagraphStyleAttributeName      设置文本段落排版格式,取值为 NSParagraphStyle 对象

你可能感兴趣的:(AttributedString的各个属性)