NSAttributedString用法
NSAttributedString叫做富文本,是一种带有属性的字符串,通过它可以轻松的在一个字符串中表现出多种字体、字号、字体大小等各不相同的风格,还可以对段落进行格式化。
通过以下代码即可实现上面图示效果,十分方便,从此再也不用设置两个UILable,并且处心积虑的处理它们的长度了。
UILabel * aLable = [[UILabel alloc] initWithFrame:CGRectMake(100, 500, 200, 40)];
aLable.textAlignment = NSTextAlignmentCenter;
[self.view addSubview:aLable];
NSString * aString = @"¥150 元/位";
//富文本对象
NSMutableAttributedString * aAttributedString = [[NSMutableAttributedString alloc] initWithString:aString];
//富文本样式
[aAttributedString addAttribute:NSForegroundColorAttributeName //文字颜色
value:[UIColor redColor]
range:NSMakeRange(0, 4)];
[aAttributedString addAttribute:NSFontAttributeName //文字字体
value:[UIFont systemFontOfSize:25]
range:NSMakeRange(0, 4)];
aLable.attributedText = aAttributedString;
常用属性:
NSFontAttributeName 文字字体
NSParagraphStyleAttributeName 段落样式(字符串通过“\n”进行分段,此设置必须在lable.numberOfLines = 0时有效,
NSParagraphStyleAttributeName
NSForegroundColorAttributeName
NSBackgroundColorAttributeName
NSLigatureAttributeName
NSKernAttributeName
NSStrikethroughStyleAttributeName
NSUnderlineStyleAttributeName
NSStrokeColorAttributeName
NSStrokeWidthAttributeName
NSShadowAttributeName
NSTextEffectAttributeName
NSAttachmentAttributeName
NSLinkAttributeName
NSBaselineOffsetAttributeName
NSUnderlineColorAttributeName
NSStrikethroughColorAttributeName
NSObliquenessAttributeName
NSExpansionAttributeName
NSWritingDirectionAttributeName
NSVerticalGlyphFormAttributeName