属性字符串

转载 2015年11月21日 18:54:20
iOS开发中,常常会有一段文字显示不同的颜色和字体,或者给某几个文字加删除线或下划线的需求。
 
     实例化方法:
使用字符串初始化
方法一:
- (id)initWithString:(NSString *)str;
例:
NSMutableAttributedString *AttributedStr = [[NSMutableAttributedString alloc]initWithString:@"设置带属性的字符串"];
 
方法二:
- (id)initWithString:(NSString *)str attributes:(NSDictionary *)attrs;
: 
先创建一个字典,在字典中存放一些属性名和属性值:
NSDictionary *attributeDict = [NSDictionary dictionaryWithObjectsAndKeys:
                                    [UIFont systemFontOfSize:15.0],NSFontAttributeName,
                                    [UIColor redColor],NSForegroundColorAttributeName,
                                   [NSNumber numberWithInter:NSUnderlineStyleSingle], NSUnderlineStyleAttributeName,nil];
 
NSMutableAttributedString *AttributedStr = [[NSMutableAttributedString alloc]initWithString:@"设置带属性的字符串" attributes:attributeDict];
 
方法三:
-(id)initWithAttributedString:(NSAttributedString *)attester;
使用NSAttributedString初始化,跟NSMutableStringNSString类似
 
使用方法:
 
为某一范围内文字添加某个属性
- (void)addAttribute:(NSString *)name value:(id)value range:(NSRange)range;
 
为某一范围内文字设置多个属性
- (void)setAttributes:(NSDictionary *)attrs range:(NSRange)range;
 
为某一范围内文字添加多个属性
  • (void)addAttributes:(NSDictionary *)attrs range:(NSRange)range;
 
移除某范围内的某个属性
- (void)removeAttribute:(NSString *)name range:(NSRange)range;
  
     常见的属性及说明
 
字体 NSFontAttributeName 
 
段落格式: NSParagraphStyleAttributeName 
 
字体颜色 NSForegroundColorAttributeName 
  
背景颜色: NSBackgroundColorAttributeName
 
删除线格式: NSStrikethroughStyleAttributeName
 
下划线格式: NSUnderlineStyleAttributeName
      
删除线颜色: NSStrokeColorAttributeName 
 
删除线宽度: NSStrokeWidthAttributeName
 
阴影: NSShadowAttributeName
 
使用实例
   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];属性字符串

相关文章推荐

iOS属性字符串封装库

  • 2015年09月09日 11:05
  • 99KB
  • 下载

(一一一)图文混排基础 -利用正则分割和拼接属性字符串

很多时候需要用到图文混排,例如聊天气泡中的表情,空间、微博中的表情,例如下图: 红心和文字在一起。 比较复杂的情况是表情夹杂在文字之间。 要实现这种功能,首先要介绍iOS中用于显示属性文字的类。 用...

获取一个list集合里面的一个对象的一个属性对应的值,平凑成一个字符串

在做项目时,有时候我们需要删除一组数据,但是genj

iOS中属性化字符串

富文本的基本数据类型是NSAttributedString。**属性化字符串**(attributed string)是把属性设置到某些字符上的字符串。属性可以是任何键值对,但是为了实现富文本,则通常...
  • hnjyzqq
  • hnjyzqq
  • 2014年10月08日 19:18
  • 1665

富文本(属性字符串)

iOS不仅有富文本处理的功能,而且对于文字排版的处理能力那是相当的强大     正题开始之前插播一点基础知识:     在iOS中或者Mac OS X中怎样才能将一...

Android开发--身高体重指数(BIM)计算--访问标识符号(android:id属性/XML说明文件与R.java资源文件/将字符串抽离XML/新增XML文件)

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:访问...

Objective-C属性字符串NSAttributedString

NSAttributedString是Objective-C中的属性字符串类,GitHub上也有很多第三方,用得较多的是TTTAttributedLabel,这里给大家介绍一下系统NSAttribut...

iOS富文本(一)属性化字符串

概述 iOS一些复杂的文本布局一般都是由底层的Core Text来实现的,直到iOS7苹果发布了Text Kit框架,Text Kit能够很简单实现一些复杂的文本样式以及布局,而Text Kit富文...
  • GGGHub
  • GGGHub
  • 2015年10月26日 19:39
  • 2776

Struts2 用 s:if test 判断属性和字符串相等时 注意双引号和单引号的使用

字符串N一定要用“”双引号包含,从test的包含则用单引号 ‘ ’,如果相反,则不能正确判断该属性是否与该字符串相等。 正确: 错误: 因为java是强类型语言,单引号表...

java中json字符串移除指定属性

java中json字符串移除指定属性
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:属性字符串
举报原因:
原因补充:

(最多只允许输入30个字)