在开发的过程中我们可能会遇到这种需求,就是在文字中间位置加一条横线,尤其是在做电商商品售价的时候,这种效果是必不可少的,有一部分人在用很笨拙的方法,我之前也用过,在这个文字上面直接加UIView,麻烦又不实用,现在又有这样的需求,我从国外的网站上学了一个大牛的方法记录一下,很简单快捷。
图片效果UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(20, 50, 200, 50)];
[self.view addSubview:label];
label.text=@"12.89";
label.textColor = [UIColor grayColor]; // 横线的颜色跟随label字体颜色改变
NSMutableAttributedString *newPrice = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"¥%@",label.text]];
[newPrice addAttribute:NSStrikethroughStyleAttributeName value:@(NSUnderlinePatternSolid | NSUnderlineStyleSingle) range:NSMakeRange(0, newPrice.length)];
label.attributedText= newPrice;
这里使用了
- (void)addAttribute:(NSString *)name value:(id)value range:(NSRange)range;
这个属性加横线。
好的,是不是成功的加上了横线。
(注意:眼睛比较敏锐的人很快发现这个横线不是太直,在¥与数字之间有偏差,$符号就没有这种问题,这完全是视觉效果,仔细看¥字的第一条横线正好和分割线上下重合,不信,你把¥换成别的中文字符试试)
网友评论