iOS- 详解文本属性Attributes(文本的样式设置/阴影/下划线/颜色)

本文来自:http://www.cnblogs.com/qingche/p/3574995.html


1.NSKernAttributeName:

@10 调整字句 kerning 字句调整

 

2.NSFontAttributeName : 

[UIFont systemFontOfSize:_fontSize] 设置字体

 

3.NSForegroundColorAttributeName 

:[UIColor redColor] 设置文字颜色

 

4.NSParagraphStyleAttributeName : 

paragraph 设置段落样式

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设置字体倾斜。

效果:

 

 

13. NSExpansionAttributeName 设置文本扁平化

 

效果:

 

 代码实例:

  1. - (void)viewDidLoad {  
  2.     [super viewDidLoad];  
  3.       
  4.     NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:@"NSAttributeString 可以用来设置字体、段落样式,字体颜色,字体背景颜色,可以添加删除线、下划线,可以设置字间距、阴影、空心字、斜体、扁平化"];  
  5.     [attributedString addAttribute:NSExpansionAttributeName value:@1 range:NSMakeRange(017)];  // 扁平化  
  6.     [attributedString addAttribute:NSObliquenessAttributeName value:@1 range:NSMakeRange(188)];// 倾斜  
  7.       
  8.     // 段落  
  9.     NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];  
  10.     paragraphStyle.firstLineHeadIndent = 80;        // 首行缩进  
  11.     paragraphStyle.headIndent = 25;                 // 其它行缩进  
  12.     paragraphStyle.lineSpacing = 10;                // 行间距  
  13.       
  14.     [attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, attributedString.length)];// 段落  
  15.       
  16.       
  17.     NSShadow *shadow = [[NSShadow alloc] init];  
  18.     shadow.shadowBlurRadius = 5;    // 模糊度  
  19.     shadow.shadowColor = [UIColor yellowColor];  
  20.     shadow.shadowOffset = CGSizeMake(13);  
  21.     [attributedString addAttribute:NSVerticalGlyphFormAttributeName value:@(0) range:NSMakeRange(274)];  
  22.     [attributedString addAttribute:NSShadowAttributeName value:shadow range:NSMakeRange(274)];  
  23.     [attributedString addAttribute:NSStrokeWidthAttributeName value:@(-3.0) range:NSMakeRange(3211)];// 边线宽度  
  24.     [attributedString addAttribute:NSStrokeColorAttributeName value:[UIColor greenColor] range:NSMakeRange(3211)];//边线颜色,需要先设置边线宽度  
  25.     [attributedString addAttribute:NSStrikethroughStyleAttributeName value:@(NSUnderlineStyleSingle) range:NSMakeRange(447)]; // 删除线  
  26.     [attributedString addAttribute:NSUnderlineStyleAttributeName value:@(NSUnderlineStyleSingle) range:NSMakeRange(523)]; // 下划线  
  27.       
  28.       
  29.     [attributedString setAttributes:@{  
  30.                                       NSFontAttributeName:[UIFont fontWithName:@"Arial-BoldItalicMT" size:18],      // 字体、字号  
  31.                                       NSKernAttributeName:@(10),    // 字间距  
  32.                                       NSForegroundColorAttributeName:[UIColor blueColor],  
  33.                                       NSBackgroundColorAttributeName:[UIColor brownColor]  
  34.                                       }  
  35.                               range:NSMakeRange(5620)];  
  36.      
  37.     UILabel *label = [[UILabel alloc] initWithFrame:self.view.bounds];  
  38.     label.numberOfLines = 0;  
  39.     label.backgroundColor = [UIColor grayColor];  
  40.     label.attributedText = attributedString;  
  41.       
  42.     [self.view addSubview:label];  
                                                      

 

作者: 清澈Saup
出处: http://www.cnblogs.com/qingche/
本文版权归作者和博客园共有,欢迎转载,但必须保留此段声明,且在文章页面明显位置给出原文连接。

猜你喜欢

转载自blog.csdn.net/qq_24143647/article/details/72842834