标签:
- (void)drawRect:(CGRect)rect { // Drawing code [super drawRect:rect]; CGContextRef ctx = UIGraphicsGetCurrentContext(); CGSize fontSize =[self.text sizeWithFont:self.font forWidth:self.frame.size.width lineBreakMode:NSLineBreakByTruncatingTail];
//线颜色,此处颜色和字体一致 CGContextSetStrokeColorWithColor(ctx, self.textColor.CGColor); // set as the text's color
// 0.6f == 线宽 CGContextSetLineWidth(ctx, 0.6f); //起点坐标 CGPoint leftPoint = CGPointMake(0, self.frame.size.height/2);
//终点坐标 CGPoint rightPoint = CGPointMake(fontSize.width, self.frame.size.height/2); CGContextMoveToPoint(ctx, leftPoint.x, leftPoint.y); CGContextAddLineToPoint(ctx, rightPoint.x, rightPoint.y); CGContextStrokePath(ctx); }在需要的地方用UnderLineLabel初始化生成即可.
#import <QuartzCore/QuartzCore.h>
//虚线 CAShapeLayer *shapeLayer = [CAShapeLayer layer]; [shapeLayer setBounds:self.bounds]; [shapeLayer setPosition:self.center]; [shapeLayer setFillColor:[[UIColor clearColor] CGColor]]; // 设置虚线颜色为black [shapeLayer setStrokeColor:[[UIColor colorWithRed:223/255.0 green:223/255.0 blue:223/255.0 alpha:1.0f] CGColor]]; // 3.0f设置虚线的宽度 [shapeLayer setLineJoin:kCALineJoinRound]; // 3=线的宽度 1=每条线的间距 [shapeLayer setLineDashPattern:[NSArray arrayWithObjects:[NSNumber numberWithInt:1],[NSNumber numberWithInt:1],nil]]; // Setup the path CGMutablePathRef path = CGPathCreateMutable(); CGPathMoveToPoint(path, NULL, 100, 67); //100 ,67 初始点 x,y CGPathAddLineToPoint(path, NULL, 310,67); //67终点x,y [shapeLayer setPath:path]; CGPathRelease(path);
//添加到容器中 [[self layer] addSublayer:shapeLayer];
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/u012976984/article/details/46785597