NSMutableAttributedString 文本样式 (一)

UILabel、UIBUtton等的 text的样式

UILabel *lab = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 100)];

    lab.numberOfLines = 4;

    [self.view addSubview:lab];

    

    // 删除、替换、插入

    NSMutableAttributedString *attStr = [[NSMutableAttributedString alloc] initWithString:@"你好吗,我很好。你好吗,我很好。你好吗,我很好。你好吗,我很好。你好吗,我很好。你好吗,我很好。你好吗,我很好。我很好。"];

    // 添加删除线

    [attStr addAttribute:NSStrikethroughStyleAttributeName value:[NSNumber numberWithInt:NSUnderlineStyleSingle] range:NSMakeRange(0, 3)];

    // 添加下划线

    [attStr addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInt:NSUnderlineStyleSingle] range:NSMakeRange(4, 3)];

    // 某个字体大小

    [attStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:22] range:NSMakeRange(8, 3)];

    // 字体颜色

    [attStr addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(12, 3)];

    // 设置笔画的粗细

    [attStr addAttribute:NSStrokeWidthAttributeName value:[NSNumber numberWithInt:NSUnderlineStyleDouble] range:NSMakeRange(16, 3)];

    // label 的背景颜色

    [attStr addAttribute:NSBackgroundColorAttributeName value:[UIColor greenColor] range:NSMakeRange(20, 3)];

    // label上文本颜色(也会影响删除线和下划线的颜色)

    [attStr addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(24, 3)];

    [attStr addAttribute:NSStrikethroughStyleAttributeName value:[NSNumber numberWithInt:NSUnderlineStyleSingle] range:NSMakeRange(24, 3)];

    [attStr addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInt:NSUnderlineStyleSingle] range:NSMakeRange(24, 3)];

    // 文本内容颜色和删除线、下划线颜色不一样

    // NSStrokeColorAttributeName 单独设置没有效果

    // 必须与NSStrokeWidthAttributeName一起设置

    [attStr addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(28, 3)];

    [attStr addAttribute:NSStrikethroughStyleAttributeName value:[NSNumber numberWithInt:NSUnderlineStyleSingle] range:NSMakeRange(28, 3)];

    [attStr addAttribute:NSStrokeColorAttributeName value:[UIColor redColor] range:NSMakeRange(28, 3)]; //cyanColor

    [attStr addAttribute:NSStrokeWidthAttributeName value:[NSNumber numberWithInt:NSUnderlineStyleSingle] range:NSMakeRange(28, 3)];

    // 笔画的阴影效果

    NSShadow *shadow = [[NSShadow alloc] init];

    [shadow setShadowColor:[UIColor redColor]];

    [shadow setShadowBlurRadius:4];

    [shadow setShadowOffset:CGSizeMake(2, 2)];

    [attStr addAttribute:NSShadowAttributeName value:shadow range:NSMakeRange(32, 3)];

    //

    [attStr addAttribute:NSParagraphStyleAttributeName value:[NSNumber numberWithInt:NSUnderlineStyleSingle] range:NSMakeRange(36, 3)];

    

    //

    //[attStr addAttribute:NSVerticalGlyphFormAttributeName value:[NSNumber numberWithInt:1] range:NSMakeRange(28, 4)];

    

    lab.attributedText = attStr;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值