iOS 给NSString文字中间或底部添加横线

给NSString类型的文字添加横线一种是添加到文字底部,一种是添加到文字中间

1.文字底部添加横线

NSMutableAttributedString *forgetTitle = [[NSMutableAttributedString alloc] initWithString:@"忘记密码"];
    NSRange titleRange = {0,[forgetTitle length]};
    [forgetTitle addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:titleRange];
    [self.forgetPsdButton setAttributedTitle:forgetTitle
                          forState:UIControlStateNormal];

2.文字中间添加横线

self.oldPriceLabel.text = @"4500";
    self.oldPriceLabel.textColor = [UIColor lightGrayColor];
    NSMutableAttributedString *newPrice = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"$%@",self.oldPriceLabel.text]];
    [newPrice addAttribute:NSStrikethroughStyleAttributeName value:@(NSUnderlinePatternSolid | NSUnderlineStyleSingle) range:NSMakeRange(0, newPrice.length)];
    self.oldPriceLabel.attributedText = newPrice;

文字中间添加删除线时有时候会无效果 原因可能是富文本不支持中文字符 解决方法如下

富文本支持中文 NSBaselineOffsetAttributeName : @(NSUnderlineStyleSingle)

[newPrice setAttributes:@{NSStrikethroughStyleAttributeName: @(NSUnderlineStyleSingle), NSBaselineOffsetAttributeName : @(NSUnderlineStyleSingle)} range:NSMakeRange(0,newPrice.length)];


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值