首页 > 移动平台 > 详细

iOS下划线/虚线/删除线等等

时间:2015-07-07 11:07:02      阅读:534      评论:0      收藏:0      [点我收藏+]

1.实线,(下划线/删除线)

写一个新类 UnderLineLabel : UILabel
- (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初始化生成即可.

2.虚线

首先要导入

#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];

此处 self是一个view


版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS下划线/虚线/删除线等等

原文:http://blog.csdn.net/u012976984/article/details/46785597

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!