相似淘宝上的原价现价,原价上通常都会有一条横线,这种效果怎么实现呢?其实至关的简单,咱们只须要重写自定义的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]; 不过须要注意的是 要在画线以前设置。下面是效果图: