[iOS]详解文本属性Attributes

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[iOS]详解文本属性Attributes相关的知识,希望对你有一定的参考价值。

参考技术A 每次需要特殊设置文本的attribute属性时,都要查很多资料,其中有些常用的key值有时不会那么准确的记住,所以花点时间整理了一下;
使用下面这首古诗作为例子吧:

直接显示这首古诗的时候,结果是这样的:

下面,我们就一点点的添加文本的属性:
首先,创建一个NSMutableAttributedString:

这里的NSRange在下面的设置属性的时候要用到,就是你需要特殊添加属性的字符串,当然,这个字符串需要包含在整个字符串string里的;当然,如果你需要为整个字符串添加属性,就不需要这个属性了,可以在创建添加属性:

调整字间距:

设置字体:

设置文本颜色:

设置段落样式:

设置文本背景色:

设置文本描边颜色,需要和NSStrokeWidthAttributeName设置描边宽度,这样就能使文字空心.

如果数值设置为负数,就没有空心字的效果:

添加删除线

添加下划线:

设置阴影

文本排版方式

ios 中,总是使用横排文本,0 以外的值都未定义,即其他值无效果。

设置文本斜体

设置文本扁平化

以上便是常用的文本设置,以备使用时查找;
如有不正确的地方,还请指正;
下面,就开始为你的文本添加丰富的attributes吧!!!

文本属性Attributes

 

1.NSKernAttributeName: @10 调整字句 kerning 字句调整

2.NSFontAttributeName : [UIFont systemFontOfSize:_fontSize] 设置字体

3.NSForegroundColorAttributeName :[UIColor redColor] 设置文字颜色

4.NSParagraphStyleAttributeName : paragraph 设置段落样式

5.NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc] init];

paragraph.alignment = NSTextAlignmentCenter;

6.NSBackgroundColorAttributeName: [UIColor blackColor] 设置背景颜色

7.NSStrokeColorAttributeName设置文字描边颜色,需要和NSStrokeWidthAttributeName设置描边宽度,这样就能使文字空心.

NSStrokeWidthAttributeName这个属性所对应的值是一个 NSNumber 对象(小数)。该值改变描边宽度(相对于字体size 的百分比)。默认为 0,即不改变。正数只改变描边宽度。负数同时改变文字的描边和填充宽度。例如,对于常见的空心字,这个值通常为3.0。

同时设置了空心的两个属性,并且NSStrokeWidthAttributeName属性设置为整数,文字前景色就无效果了

 

 

 

效果:

 

 

 

 

效果:

 

 

8.NSStrikethroughStyleAttributeName添加删除线,strikethrough删除线

 

 

效果:

 

 

9.NSUnderlineStyleAttributeName添加下划线

 

 

效果:

 

 

10.NSShadowAttributeName设置阴影,单独设置不好使,必须和其他属性搭配才好使。

和这三个任一个都好使,NSVerticalGlyphFormAttributeName,NSObliquenessAttributeName,NSExpansionAttributeName

 

11.NSVerticalGlyphFormAttributeName

该属性所对应的值是一个 NSNumber 对象(整数)。0 表示横排文本。1 表示竖排文本。在 iOS 中,总是使用横排文本,0 以外的值都未定义。

 

 

效果:

 

 

 

12.NSObliquenessAttributeName设置字体倾斜。Skew斜

 

 

 

效果:

 

 

 

13.NSExpansionAttributeName设置文本扁平化

 

 

 

效果:

 

 

以上是关于[iOS]详解文本属性Attributes的主要内容,如果未能解决你的问题,请参考以下文章

iOS之文本属性Attributes的使用

文本属性Attributes的使用

文本属性Attributes的使用

文本属性Attributes

DOM遍历节点以及属性

归因于UITextField的文本