IOS NSMutableAttributedString用法

我们经常会使用字符串,比如用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包括一下属性
   alignment //对齐方式
   firstLineHeadIndent //首行缩进
   headIndent //缩进
   tailIndent   //尾部缩进
   lineBreakMode   //断行方式
   maximumLineHeight   //最大行高
   minimumLineHeight   //最低行高
   lineSpacing   //行距
   paragraphSpacing   //段距
   paragraphSpacingBefore   //段首空间
   baseWritingDirection   //句子方向
   lineHeightMultiple   //可变行高,乘因数。
   hyphenationFactor //连字符属性
NSString *const NSForegroundColorAttribu teName;//值为UIColor,字体颜色,默认为黑色。
NSString *const NSBackgroundColorAttribu teName;//值为UIColor,字体背景色,默认没有。
NSString *const NSLigatureAttributeName;//值为整型NSNumber,连字属性,一般中文用不到,在英文中可能出现相邻字母连笔的情况。0为不连笔;1为默认连笔,也是默认值;2在ios 上不支持。
NSString *const NSKernAttributeName;//值为浮点数NSNumber,字距属性,默认值为0。
NSString *const NSStrikethroughStyleAttr ibuteName;//值为整型NSNumber,可取值为
enum {
     NSUnderlineStyleNone = 0×00,
     NSUnderlineStyleSingle = 0×01,
};设置删除线。
NSString *const NSUnderlineStyleAttribut eName;//同上。设置下划线。
NSString *const NSStrokeColorAttributeNa me;//值为UIColor,默认值为nil,设置的属性ForegroundColor。
NSString *const NSStrokeWidthAttributeNa me;//值为浮点数NSNumber。设置比画的粗细。
NSString *const NSShadowAttributeName;//值为NSShadow,设置比画的阴影,默认值为nil。
NSString *const NSVerticalGlyphFormAttri buteName;//值为整型NSNumber,0为水平排版的字,1为垂直排版

枚举类型的属性使用

    [attributedString addAttribute:(NSString*)NSUnderlineStyleAttributeName value:[NSNumber numberWithInt:NSUnderlineStyleSingle] range:NSMakeRange(0, [deslabel.text length])];




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值