相似淘寶上的原價現價,原價上通常都會有一條橫線,這種效果怎麼實現呢?其實至關的簡單,咱們只須要重寫自定義的lable的 - (void)drawRect:(CGRect)rect 方法就好了。字體
具體實現方法以下:3d
1. 調用super的方法就能夠拿到值 blog
[super drawRect:rect]; it
2. 獲取到lable字體的尺寸 io
CGSize size = [self.text sizeWithAttributes:[NSDictionary dictionaryWithObjectsAndKeys:self.font,NSFontAttributeName,nil]]; 淘寶
注:- (CGSize)sizeWithAttributes:(NSDictionary*)attrs; 這個方法是iOS7 以後的方法 代替了iOS6中過期了的 - (CGSize)sizeWithFont:(UIFont*)font 方法
3.畫線im
UIRectFill(CGRectMake(0, size.height*0.5, size.width,1));項目
到這裏就完成了,很簡單吧,想當初第一次作項目就想實現這種效果惋惜太水一直實現不了就放棄了,但願這個能對大家有所幫助。db
若是你想設置線的顏色 能夠 [[UIColor redColor] set]; 不過須要注意的是 要在畫線以前設置。下面是效果圖: