博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS富文本的简单使用
阅读量:7237 次
发布时间:2019-06-29

本文共 2649 字,大约阅读时间需要 8 分钟。

常常会有一段文字显示不同的颜色和字体,或者给某几个文字加删除线或下划线的需求。

使用富文本NSMuttableAttstring(带属性的字符串),上面的一些需求都可以很简便的实现。 ####1、实例化方法和使用方法

实例化方法:

//使用字符串初始化- (id)initWithString:(NSString *)str;复制代码

例如:

NSMutableAttributedString *AttributedStr = [[NSMutableAttributedStringalloc]initWithString:@"今天天气不错呀"];复制代码

字典中存放一些属性名和属性值,如:

NSDictionary *attributeDict = [NSDictionarydictionaryWithObjectsAndKeys:[UIFontsystemFontOfSize:15.0],                                                                        NSFontAttributeName,                                                                        [UIColorredColor],                                                                        NSForegroundColorAttributeName,                                                                        NSUnderlineStyleAttributeName,                                                                        NSUnderlineStyleSingle,nil];NSMutableAttributedString *AttributedStr = [[NSMutableAttributedStringalloc]initWithString:@"今天天气不错呀" attributes:attributeDict];复制代码

使用NSAttributedString初始化,跟NSMutableString,NSString类似

- (id)initWithAttributedString:(NSAttributedString *)attester;复制代码

使用方法:

为某一范围内文字设置多个属性

- (void)setAttributes:(NSDictionary *)attrs range:(NSRange)range;复制代码

为某一范围内文字添加某个属性

- (void)addAttribute:(NSString *)name value:(id)value range:(NSRange)range;复制代码

为某一范围内文字添加多个属性

- (void)addAttributes:(NSDictionary *)attrs range:(NSRange)range;复制代码

移除某范围内的某个属性

- (void)removeAttribute:(NSString *)name range:(NSRange)range;复制代码

####2.     常见的属性及说明

NSFontAttributeName //字体NSParagraphStyleAttributeName //段落格式 NSForegroundColorAttributeName //字体颜色NSBackgroundColorAttributeName  //背景颜色NSStrikethroughStyleAttributeName//删除线格式NSUnderlineStyleAttributeName     //下划线格式NSStrokeColorAttributeName       //删除线颜色NSStrokeWidthAttributeName//删除线宽度NSShadowAttributeName //阴影复制代码

####3.   使用实例

UILabel *testLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 100, 320, 30)];   testLabel.backgroundColor = [UIColor lightGrayColor];   testLabel.textAlignment = NSTextAlignmentCenter;   NSMutableAttributedString *AttributedStr = [[NSMutableAttributedString alloc]initWithString:@"今天天气不错呀"];   [AttributedStr addAttribute:NSFontAttributeName                         value:[UIFont systemFontOfSize:16.0]                         range:NSMakeRange(2, 2)];   [AttributedStr addAttribute:NSForegroundColorAttributeName                         value:[UIColor redColor]                         range:NSMakeRange(2, 2)];   testLabel.attributedText = AttributedStr;   [self.view addSubview:testLabel];复制代码

其他可以设置text 的控件(如UIButton,UITextField)也都有该属性,该文章不够详细,只是简单介绍。

转载于:https://juejin.im/post/5a93c944f265da4e7b44ce12

你可能感兴趣的文章
企业级 SpringBoot 教程 (九)springboot整合Redis
查看>>
算法之截取带汉字的字符串
查看>>
conn / as sysdba连接不上
查看>>
JavaScript面向对象编程深入分析(2)
查看>>
win7 iis6 配置如何让局域网内其它用户访问
查看>>
Abp vNext 切换MySql数据库
查看>>
HDU-1281-棋盘游戏(最大匹配,枚举)
查看>>
python全栈-基础知识练习题(一)
查看>>
Python学习笔记23:多线程
查看>>
[推荐] - 技术书籍
查看>>
POJ-3723 Conscription---最大权森林---最小生成树
查看>>
python学习之最简单的获取本机ip信息的小程序
查看>>
分析.cpp文件编译生成的汇编文件里语句的作用
查看>>
mybatis 的加载与缓存
查看>>
Laravel之路由
查看>>
[XAML]命名空间xmlns
查看>>
Rabbitmq实现负载均衡与消息持久化
查看>>
重定向监听端口并持久化路由配置
查看>>
Activity-Flag标志位
查看>>
CentOS 安装 Hadoop 手记
查看>>