類似淘寶上的原價現(xiàn)價,原價上一般都會有一條橫線,這種效果怎么實現(xiàn)呢?其實相當(dāng)?shù)暮唵?,我們只需要重寫自定義的lable的?- (void)drawRect:(CGRect)rect 方法就行了。
具體實現(xiàn)方法如下:
1.? 調(diào)用super的方法就可以拿到值 ?
? ? ?[super drawRect:rect];?
2. ?獲取到lable字體的尺寸??
? ? ?CGSize size = [self.text sizeWithAttributes:[NSDictionary dictionaryWithObjectsAndKeys:self.font,NSFontAttributeName,nil]];? ?
注:- (CGSize)sizeWithAttributes:(NSDictionary*)attrs; 這個方法是iOS7 之后的方法 代替了iOS6中過時了的 - (CGSize)sizeWithFont:(UIFont*)font ?
3.畫線
? ?UIRectFill(CGRectMake(0, size.height*0.5, size.width,1));
到這里就完成了,很簡單吧,想當(dāng)初第一次做項目就想實現(xiàn)這種效果可惜太水一直實現(xiàn)不了就放棄了,希望這個能對你們有所幫助。
如果你想設(shè)置線的顏色 可以 ?[[UIColor redColor] set]; ?不過需要注意的是 要在畫線之前設(shè)置。下面是效果圖:

效果圖