在开发的过程中我们可能会遇到这种需求,就是在文字中间位置加一条横线,尤其是在做电商商品售价的时候,这种效果是必不可少的,有一部分人在用很笨拙的方法,我之前也用过,在这个文字上面直接加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;
这个属性加横线。
好的,是不是成功的加上了横线。