#import "ViewController.h"
@interface ViewController () @end @implementation ViewController - (void)viewDidLoad
{
[super viewDidLoad]; UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(, , self.view.frame.size.width-, self.view.frame.size.height--)];
label.text = @"春种一粒粟,秋成万颗子。\n四海无闲田,农夫犹饿死。\n锄禾日当午,汗滴禾下土。\n谁知盘中餐,粒粒皆辛苦。";
[self.view addSubview:label];
NSRange rangeOne = [label.text rangeOfString:@"春种一粒粟"];
NSRange rangeTwo = [label.text rangeOfString:@"秋成万颗子"];
NSRange rangeThree = [label.text rangeOfString:@"四海无闲田"];
NSRange rangeFour = [label.text rangeOfString:@"农夫犹饿死"];
NSRange rangeFive = [label.text rangeOfString:@"锄禾日当午"];
NSRange rangeSix = [label.text rangeOfString:@"汗滴禾下土"];
NSRange rangeSeven = [label.text rangeOfString:@"谁知盘中餐"];
NSRange rangeEight = [label.text rangeOfString:@"粒粒皆辛苦"];
NSMutableAttributedString *attributedLabel = [[NSMutableAttributedString alloc] initWithString:label.text];
//字体
[attributedLabel addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:] range:NSMakeRange(, label.text.length)];
//段落
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.lineSpacing = ; //行间距
paragraphStyle.alignment = NSTextAlignmentCenter;
[attributedLabel addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(, label.text.length)];
//字体颜色
[attributedLabel addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(rangeOne.location, rangeOne.length)];
//字体底色
[attributedLabel addAttribute:NSBackgroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(rangeTwo.location, rangeTwo.length)];
//删除线
[attributedLabel addAttribute:NSStrikethroughStyleAttributeName value:[NSNumber numberWithInt:] range:NSMakeRange(rangeThree.location, rangeThree.length)];
[attributedLabel addAttribute:NSStrikethroughColorAttributeName value:[UIColor redColor] range:NSMakeRange(rangeThree.location, rangeThree.length)];
//下划线
[attributedLabel addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInt:] range:NSMakeRange(rangeFour.location, rangeFour.length)];
[attributedLabel addAttribute:NSUnderlineColorAttributeName value:[UIColor redColor] range:NSMakeRange(rangeFour.location, rangeFour.length)];
//文字间距
[attributedLabel addAttribute:NSKernAttributeName value:[NSNumber numberWithInt:] range:NSMakeRange(rangeFive.location, rangeFive.length)];
//字体倾斜(正值右倾,负值左倾)
[attributedLabel addAttribute:NSObliquenessAttributeName value:[NSNumber numberWithFloat:0.5] range:NSMakeRange(rangeSix.location, rangeSix.length)];
//笔画宽度(正值中空,负值填充)
[attributedLabel addAttribute:NSStrokeWidthAttributeName value:[NSNumber numberWithFloat:] range:NSMakeRange(rangeSeven.location, rangeSeven.length)];
//填充颜色
[attributedLabel addAttribute:NSStrokeColorAttributeName value:[UIColor redColor] range:NSMakeRange(rangeSeven.location, rangeSeven.length)];
//阴影效果
NSShadow *shadow = [[NSShadow alloc] init];
shadow.shadowColor = [UIColor redColor];
shadow.shadowOffset = CGSizeMake(, );
shadow.shadowBlurRadius = ;
[attributedLabel addAttribute:NSShadowAttributeName value:shadow range:NSMakeRange(rangeEight.location, rangeEight.length)];
//自适应高
label.numberOfLines = ;
CGRect labelStringRect = [attributedLabel boundingRectWithSize:CGSizeMake(self.view.frame.size.width-label.frame.origin.x*, ) options:NSStringDrawingUsesLineFragmentOrigin context:nil];
CGRect labelRect = label.frame;
labelRect.size.height = labelStringRect.size.height;
label.frame = labelRect; label.attributedText = attributedLabel;
}

效果图如下:

NSMutableAttributedString(富文本)的简单使用的更多相关文章

  1. UEditor富文本编辑器简单使用

    UEditor富文本编辑器简单使用 一.下载地址:https://ueditor.baidu.com/website/ 官网中并没有 python 版本的 UEditor 富文本编辑器,本文简单介绍 ...

  2. iOS - NSMutableAttributedString富文本的实现

    NSMutableAttributedString继承于NSAttributedString(带属性的字符串)能够简单快速实现富文本的效果;不多说直接上效果图和代码,通俗易懂: (一)效果图: (二) ...

  3. UILabel添加图片之富文本的简单应用

    若想对UILabel添加图片,那么就需要使用NSMutableAttributedString来定义先定义一个普通的label UILabel *lab = [[UILabel alloc]initW ...

  4. NSMutableAttributedString 富文本的使用

    //富文本的使用 UILabel *testLabel = [[UILabel alloc]initWithFrame:CGRectMake(, , , )]; testLabel.backgroun ...

  5. ios富文本的简单使用 AttributedString

    富文本,顾名思义就是丰富的文本格式,本文demo使用NSMutableAttributedString //获取富文本 NSMutableAttributedString*attributeStrin ...

  6. (转)解决NSMutableAttributedString富文本,不同文字大小水平轴对齐问题(默认底部对齐)

    默认是底部对齐,其实对的也不齐, 目标效果:  代码: NSBaselineOffsetAttributeName 基线偏移量: 调整: NSBaselineOffsetAttributeName的值 ...

  7. iOS - UILabel添加图片之富文本的简单应用

    //创建富文本 NSMutableAttributedString *attri = [[NSMutableAttributedString alloc] initWithString:@" ...

  8. Vue系列:wangEditor富文本编辑器简单例子

    考虑到该富文本编辑器可能会在后续项目中继续使用,因此单独将其做成一个组件,把wangeditor作为组件的形式使用. 以下是参考代码 子组件部分: 父组件引用子组件: 以上就是 wangEditor ...

  9. NSMutableAttributedString 富文本删除线的用法

    #import <UIKit/UIKit.h> //价格 NSString *priceStr = @"99元 剁手价66元"; NSMutableAttributed ...

随机推荐

  1. [Objective-c 基础 - 2.8] category分类/类别/类目

    A.给某个类扩充方法(不改变原来的类) 例如,给类Person加上名为Simon的category,加上一个-study方法 使用()注明 Person+Simon.h @interface Pers ...

  2. 转载 SharePoint Foundation和SharePoint Server的区别

    SharePoint Server 2010用来取代MOSS 2007,它有标准版和企业版两个版本,使用SQL Server数据库: 早期版本中的STS或WSS在2010中更名为SharePoint ...

  3. (4)ARP:地址解析协议

    一.简介 ARP为IP地址到对应的硬件地址之间提供动态映射.之所以称为动态是因为这个过程是自动完成的.一般应用程序用户或系统管理员不必关心.RARP是被那些没有磁盘驱动器的系统使用,它需要系统管理员进 ...

  4. CentOS 下SSH无密码登录的配置

    CentOS 下SSH无密码登录的配置 最近学习Hadoop.它要求各节点之间通过SSH无密码登录,配置SSH的时候费了一番功夫,记录下来,以备忘. 配置SSH无密码登录需要3步: 1.生成公钥和私钥 ...

  5. Dev 等待提示 WaitDialogForm 升级版

    本文转载:http://www.cnblogs.com/VincentLuo/archive/2011/12/24/2298916.html   一.Dev的等待提示框                 ...

  6. xcopy拷贝判断是否成功 robocopy排除子目录

    xcopy \\172.16.22.65\server\*.* C:\Inetpub\wwwroot\Server /h /r /s /yif %errorlevel% neq 0 echo copy ...

  7. SpringMVC+Spring3+hibernate4 开发环境搭建以及一个开发实例教程

    刚刚接触了SpringMVC这个框架,因此有必要把它拿过来同hibernate.Spring框架进行集成和开发一个实例,在真正企业从头开发的项目中往往一个稳定的开发环境至关重要,开发一个项目选择什么样 ...

  8. wcf-2

    1.前言 上一篇,我 们通过VS自带的模板引擎自动生成了一个wcf程序,接下来我们将手动实现一个wcf程序.由于应用程序开发中一般都会涉及到大量的增删改查业务,所以这 个程序将简单演示如何在wcf中构 ...

  9. linux-insides-cn-BOOK

    https://www.gitbook.com/book/xinqiu/linux-insides-cn/details https://www.gitbook.com/book/looly/elas ...

  10. java_不知道数据类型情况下,数组遍历-反射

    if(items.getClass().isArray){ this.collection = new ArrayList(); int length = Array.getLength(items) ...