ios NSMutableAttributedString 详解 显示不同的字体和颜色的字符串
1 NSMutableAttributedString *mutableString = [[NSMutableAttributedString alloc]initWithString:totalFee]; 2 [mutableString addAttribute:NSFontAttributeName 3 value:[UIFont systemFontOfSize:21.0] 4 range:NSMakeRange(3, totalFee.length - 3)];//设置字体 5 [mutableString addAttribute:NSForegroundColorAttributeName 6 value:[UIColor redColor] 7 range:NSMakeRange(3, totalFee.length - 3)];//设置颜色 8 [mutableString addAttribute:NSUnderlineStyleAttributeName 9 value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] 10 range:NSMakeRange(0, totalFee.length)];//添加下划线 11 sumLabel.attributedText = mutableString;
NSAttributedString的初始化方法有:
-initWithString:用String初始化,并没有Attributed信息。
-initWithAttributedString:用AttributedString去初始化。
-initWithString:Attributed:用string及attribute的dictionary来初始化。
具体AttributtedString属性的键值对如下:
1、NSString *const NSFontAttributeName;//值为UIFont,设置字体,默认值为12-point Helvetica(Neue) 。
下面这段代码可以查看ios中可用的字体,具体那些字体长什么样,可以查看字体册工具。
1 NSArray *familyArray = [UIFont familyNames]; 2 for (id family in familyArray) { 3 printf(“%s\n”,[family cStringUsingEncoding:NSUTF8StringEncoding]); 4 NSArray *fontArray = [UIFont fontNamesForFamilyName:family]; 5 for (id font in fontArray) { 6 printf(” %s\n”,[font cStringUsingEncoding:NSUTF8StringEncoding]); 7 } 8 }
2、NSString *const NSParagraphStyleAttributeName;//值为NSParagraphStyle,设置段落属性,默认值为[NSParagraphStyle defaultParagraphStyle]返回的值。
NSMutableParagraphStyle与NSParagraphStyle包括以下属性:
alignment //对齐方式
firstLineHeadIndent //首行缩进
headIndent //缩进
tailIndent //尾部缩进
lineBreakMode //断行方式
maximumLineHeight //最大行高
minimumLineHeight //最低行高
lineSpacing //行距
paragraphSpacing //段距
paragraphSpacingBefore //段首空间
baseWritingDirection //句子方向
lineHeightMultiple //可变行高,乘因数。
hyphenationFactor //连字符属性
3、NSString *const NSForegroundColorAttributeName;//值为UIColor,字体颜色,默认为黑色。
4、NSString *const NSBackgroundColorAttributeName;//值为UIColor,字体背景色,默认没有。
5、NSString *const NSLigatureAttributeName;//值为整型NSNumber,连字属性,一般中文用不到,在英文中可能出现相邻字母连笔的情况。0为不连笔;1为默认连笔,也是默认值;2在ios 上不支持。
6、NSString *const NSKernAttributeName;//值为浮点数NSNumber,字距属性,默认值为0。
7、NSString *const NSStrikethroughStyleAttributeName;//值为整型NSNumber,可取值为
enum {
NSUnderlineStyleNone = 0×00,
NSUnderlineStyleSingle = 0×01,
};设置删除线。
8、NSString *const NSUnderlineStyleAttributeName;//同上。设置下划线。
9、NSString *const NSStrokeColorAttributeName;//值为UIColor,默认值为nil,设置的属性同ForegroundColor。
10、NSString *const NSStrokeWidthAttributeName;//值为浮点数NSNumber。设置比画的粗细。
11、NSString *const NSShadowAttributeName;//值为NSShadow,设置比画的阴影,默认值为nil。
12、NSString *const NSVerticalGlyphFormAttributeName;//值为整型NSNumber,0为水平排版的字,1为垂直排版的字。
posted on 2015-09-07 11:02 codemaker313 阅读(5547) 评论(0) 编辑 收藏 举报