美文网首页
iOS 原价划线 解决线不直

iOS 原价划线 解决线不直

作者: 红太狼的小灰帽丶 | 来源:发表于2019-04-01 17:33 被阅读0次

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


    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 原价划线 解决线不直

          本文链接:https://www.haomeiwen.com/subject/lgqziftx.html