NSAttributedString *attrStr =
[[NSAttributedStringalloc]initWithString:_model.originPrice
attributes:
@{NSFontAttributeName:[UIFont systemFontOfSize:20.f],
NSForegroundColorAttributeName:[UIColor colorWithHexString:@"#5bcec0"],
NSStrikethroughStyleAttributeName:@(NSUnderlineStyleSingle|NSUnderlinePatternSolid),
NSStrikethroughColorAttributeName:[UIColor colorWithHexString:@"#5bcec0"]}];
self.orginPriceLabel.attributedText = attrStr;
上面代碼中給文字添加的四個特征分別是:文字大小忙上,文字顏色史侣,刪除線樣式為單實線跌造,刪除線的顏色
效果:(上文實現(xiàn)的是途中右側(cè)帶刪除線的藍(lán)色部分文字效果)
20150721補充
如果上面的方法有問題(雖然我沒有遇到過問題),或者想換一種方式實現(xiàn)刪除線,還可以采用以下方法:
- 創(chuàng)建一個UILabel的子類
- 在這個類內(nèi)部實現(xiàn)
drawRect
方法將刪除線繪制出來
- (void)drawRect:(CGRect)rect
{
// 調(diào)用super的drawRect:方法,會按照父類繪制label的文字
[super drawRect:rect];
// 取文字的顏色作為刪除線的顏色
[self.textColor set];
CGFloat w = rect.size.width;
CGFloat h = rect.size.height;
// 繪制(這個數(shù)字是為了找到label的中間位置,0.35這個數(shù)字是試出來的,如果不在中間可以自己調(diào)整)
UIRectFill(CGRectMake(0, h * 0.35, w, 1));
}
- 需要使用刪除線的部分用自定義的label初始化,按照正常label使用就好了.別忘了在給label賦值文字之后調(diào)用sizeToFit