我们经常会使用字符串,比如用Label显示一些文字,NSMutableAttributedString将会使我们更得心应手
用法:
//这里初始化,传入字符串
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:deslabel.text];
然后可以设置一些属性例如:
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
[paragraphStyle setLineSpacing:5];//调整行间距
[paragraphStyle setFirstLineHeadIndent:10];//首行缩进
[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [deslabel.text length])];
NSMutableParagraphStyle 对应key:NSParagraphStyleAttributeName
里面有很多属性,用的时候可以查找
@property(readwrite) CGFloat lineSpacing;
@property(readwrite) CGFloat paragraphSpacing;
@property(readwrite) NSTextAlignment alignment;
@property(readwrite) CGFloat firstLineHeadIndent;
@property(readwrite) CGFloat headIndent;
@property(readwrite) CGFloat tailIndent;
@property(readwrite) NSLineBreakMode lineBreakMode;
@property(readwrite) CGFloat minimumLineHeight;
@property(readwrite) CGFloat maximumLineHeight;
@property(readwrite) NSWritingDirection baseWritingDirection;
@property(readwrite) CGFloat lineHeightMultiple;
@property(readwrite) CGFloat paragraphSpacingBefore;
@property(readwrite) float hyphenationFactor;
@property(readwrite,copy,NS_NONATOMIC_IOSONLY) NSArray *tabStops NS_AVAILABLE_IOS(7_0);
@property(readwrite,NS_NONATOMIC_IOSONLY) CGFloat defaultTabInterval NS_AVAILABLE_IOS(7_0);
NSMutableAttributedString 有很多key可以使用,来修改属性实现我们要的功能,例如颜色,字体,等等,这些key都合
NSMutableAttributedString放在一起,可以根据需要去查找,
最后设置玩NSMutableAttributedString属性以后
deslabel.attributedText = attributedString;
来使用这些属性
NSMutableParagraphStyle与NSParagraphStyle包括一下属性
NSString *const NSForegroundColorAttribu
NSString *const NSBackgroundColorAttribu
NSString *const NSLigatureAttributeName;//值为整型NSNumber,连字属性,一般中文用不到,在英文中可能出现相邻字母连笔的情况。0为不连笔;1为默认连笔,也是默认值;2在ios 上不支持。
NSString *const NSKernAttributeName;//值为浮点数NSNumber,字距属性,默认值为0。
NSString *const NSStrikethroughStyleAttr
enum {
};设置删除线。
NSString *const NSUnderlineStyleAttribut
NSString *const NSStrokeColorAttributeNa
NSString *const NSStrokeWidthAttributeNa
NSString *const NSShadowAttributeName;//值为NSShadow,设置比画的阴影,默认值为nil。
NSString *const NSVerticalGlyphFormAttri
枚举类型的属性使用
[attributedString addAttribute:(NSString*)NSUnderlineStyleAttributeName value:[NSNumber numberWithInt:NSUnderlineStyleSingle] range:NSMakeRange(0, [deslabel.text length])];