iOS 原价划线 解决线不直

今天写需求的时候遇到的一个需求是 把价钱的原价划掉
类似于这种样子的:


image.png

然后使用了以下方法:

     UILabel *originalPrice = [[UILabel alloc]init];  //原价
     originalPrice.font = [UIFont systemFontOfSize:16];
     originalPrice.textColor = kBLGray;
   NSDictionary *attribtDic =@{NSStrikethroughStyleAttributeName: [NSNumber numberWithInteger:NSUnderlineStyleSingle]};
    NSMutableAttributedString *attribtStr = [[NSMutableAttributedString alloc]initWithString: self.Price attributes:attribtDic];
    originalPrice.attributedText = attribtStr;

然后发生了一件神奇的事情,出现了以下效果:


image.png

最后发现根本原因是Label上的文字只要包含有“中文”,富文本字符串的中划线就会很奇怪的出现不直啊或者设置了之后不起作用啊之类的效果,那么呢,我们就可以通过两种方式解决它~~~
第一个:人民币符号“¥”和“¥”,使用前面一个。
第二个:让富文本支持中文

    NSString *str = [NSString stringWithFormat:@"¥%@",@"999"];
    NSMutableAttributedString *attributeMarket = [[NSMutableAttributedString alloc] initWithString:str];
    [attributeMarket setAttributes:@{NSStrikethroughStyleAttributeName: [NSNumber numberWithInteger:NSUnderlineStyleSingle], NSBaselineOffsetAttributeName : @(NSUnderlineStyleSingle)} range:NSMakeRange(0,str.length)];
    originalPrice.attributedText = attributeMarket;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,259评论 4 61
  • 我在浙商院时间不是太多仅剩下一个月,一个月我将会悄悄离开这生活了三年的大学,杭城的房价还在不断攀升之中。微信也在不...
    良晓诺阅读 1,733评论 15 15
  • 想要得到尊重,就要尊重别人。想要得到关心,就要关心别人。尊重和关心是相互的,总是被忽略的人总有一天会离开。
    風來等妳阅读 367评论 0 0
  • 2018年4月22日,星期日,天气:小雨 白玉一杯酒,绿杨三月时。春风余几日,两鬓各成丝。 得知...
    聆听_ed4a阅读 101评论 0 0