Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

谈一谈富文本化操作

$
0
0

先上效果图:
这里写图片描述

在开发中,很多时候都要适应设计给出的文本样式,文本样式丰富多彩,如果掌握了富文本化的方法,灵活运用,就能应对各种审美要求。可供自定义的属性非常之多,该篇博文主要针对一些比较常用的属性进行解说。

初始化字符串:

NSString *str = @"欢迎关注黄飞的csdn博客,探讨技术,研究理论,一起学习,一起进步。最怕你医生碌碌无为,还安慰自己平凡可贵。";
NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:str];

设置文字大小

[attrStr addAttribute:NSFontAttributeName
                    value:[UIFont systemFontOfSize:30.0f]
                    range:NSMakeRange(0, 10)];

设置文字颜色

[attrStr addAttribute:NSForegroundColorAttributeName
                    value:[UIColor redColor]
                    range:NSMakeRange(15, 10)];

添加下划线

NSStrikethroughStyleAttributeName的value: (1~7单线,依次加粗, 9~15:双线,依次加粗)

[attrStr addAttribute:NSUnderlineStyleAttributeName
                    value:[NSNumber numberWithInteger:NSUnderlineStyleSingle]
                    range:NSMakeRange(27, 10)];
[attrStr addAttribute:NSUnderlineColorAttributeName
                    value:[UIColor yellowColor]
                    range:NSMakeRange(27, 10)];

添加删除线

NSStrikethroughStyleAttributeName的value:(1~7单线,依次加粗, 9~15:双线,依次加粗)

[attrStr addAttribute:NSStrikethroughStyleAttributeName
                    value:@(5)
                    range:NSMakeRange(37, 10)];
[attrStr addAttribute:NSStrikethroughColorAttributeName
                    value:[UIColor greenColor]
                    range:NSMakeRange(37, 10)];

添加阴影

NSShadow *shadow = [[NSShadow alloc] init];
shadow.shadowColor = [UIColor purpleColor];
shadow.shadowOffset = CGSizeMake(5, 5);
shadow.shadowBlurRadius = 2.0;
[attrStr addAttribute:NSShadowAttributeName
                    value:shadow
                    range:NSMakeRange(48, 5)];

添加段落设置

NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc] init];
//行间距
paragraph.lineSpacing = 10;
//段落间距
paragraph.paragraphSpacing = 20;
//对齐方式
paragraph.alignment = NSTextAlignmentLeft;
//指定段落开始的缩进像素
paragraph.firstLineHeadIndent = 30;
//调整全部文字的缩进像素
paragraph.headIndent = 10;

[attrStr addAttribute:NSParagraphStyleAttributeName
                    value:paragraph
                    range:NSMakeRange(0, [str length])];

最后添加Label,并设置富文本属性

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(60, 100, 200, 0)];
label.backgroundColor = [UIColor lightGrayColor];
//自动换行
label.numberOfLines = 0;
//设置label的富文本
label.attributedText = attrStr;
//label高度自适应
[label sizeToFit];
[self.view addSubview:label];

关于富文本还有其他很多属性可供自定义,此处不一一罗列,上述所列的方法已经可以应对大多数UI设计。如有需求,后续会继续完善!

作者:huangfei711 发表于2017/9/18 15:08:11 原文链接
阅读:36 评论:0 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>