iOS AttributedString 富文本
2016-11-08 10:48
92 查看
前言
AttributedString可以分为NSAttributedString和NSMutableAttributedString两种。在使用中通过将AttributedString赋值给控件的 attributedText 属性来添加文字样式。UILabel、UITextField和UITextView,都可以使用该属性。1、设置常规属性
NSString *str = @"大海因为有了波澜所以更加雄伟壮阔,人生因为有了遗憾所以更加珍惜懂得。倘若未曾有过遗憾的痛。今天也不至于学会懂。倘若未曾有过遗憾的伤,今天也不至于坚强。谁今天的坚强,不是用曾经的那些憾缺构筑起来的成长。"; //创建NSMutableAttributedString NSMutableAttributedString *attStr = [[NSMutableAttributedString alloc] initWithString:str]; //设置字体大小和指定范围 [attStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:30.0f] range:NSMakeRange(0, 2)]; //设置文字颜色 [attStr addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0, 2)]; //设置文字背景色 [attStr addAttribute:NSBackgroundColorAttributeName value:[UIColor greenColor] range:NSMakeRange(0, 2)]; //添加下划线 [attStr addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:NSMakeRange(0, 2)]; //设置字符之间的间距 [attStr addAttribute:NSKernAttributeName value:@(5) range:NSMakeRange(0, str.length-1)]; UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 20, self.view.frame.size.width-20, 20)]; label.attributedText = attStr; //设置label的富文本 label.numberOfLines = 0; //自动换行 [label sizeToFit]; //label高度自适应 [self.view addSubview:label];
2、设置段落属性
NSString *str = @"大海因为有了波澜所以更加雄伟壮阔,人生因为有了遗憾所以更加珍惜懂得。\n倘若未曾有过遗憾的痛。今天也不至于学会懂。\n倘若未曾有过遗憾的伤,今天也不至于坚强。\n谁今天的坚强,不是用曾经的那些憾缺构筑起来的成长。"; //创建NSMutableAttributedString NSMutableAttributedString *attStr = [[NSMutableAttributedString alloc] initWithString:str]; //设置段落的样式 NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc] init]; //设置行间距 paragraph.lineSpacing = 10; //设置段落间距 paragraph.paragraphSpacing = 20.0f; //设置对齐方式 paragraph.alignment = NSTextAlignmentLeft; //设置段落首行缩进 paragraph.firstLineHeadIndent = 30; //设置文字全部缩进 paragraph.headIndent = 30; //添加段落设置 [attStr addAttribute:NSParagraphStyleAttributeName value:paragraph range:NSMakeRange(0, str.length)]; UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 20, self.view.frame.size.width-20, 20)]; label.attributedText = attStr; //设置label的富文本 label.numberOfLines = 0; //自动换行 [label sizeToFit]; //label高度自适应 [self.view addSubview:label];
相关文章推荐
- UITextField 文本字段控件-IOS开发
- ios::binary文本方式打开与二进制方式打开的不同
- UITextField 文本字段控件 -- IOS (解决键盘遮住View及密文設定的问题)(实例)
- 如何iOS更改UIBarButtonItem的文本颜色
- ios文本、键盘、按钮的练习
- IOS 根据 指定的 字体类型 ,size ,计算 绘制 文本 所需要的 宽度与高度
- iOS上文本绘制的几种方法
- IOS UITextField 文本实例
- UITextField 文本字段控件 -- IOS (解决键盘遮住View及密文設定的问题)(实例)
- IOS_修改TableView的删除按钮的文本
- UITextField 文本字段控件-IOS开发
- IOS 中设置UITextView 显示文本的光标
- iOS菜鸟学习——如何实现Label文本自适应
- iOS上的富文本控件-DTCoreTextView
- IOS core text计算文本高度及最大宽度
- iOS http post 图片和文本信息
- (iPhone/iPad开发)在iOS系统中动态设置文本字体
- IOS 文本高度自适应变化实现实例
- 【IOS学习】之三、图像视图&文本字段
- IOS 根据 指定的 字体类型 ,size ,计算 绘制 文本 所需要的 宽度与高度