iOS中CAShapeLayer用法

1)画虚线


CAShapeLayer *shapeLayer = [CAShapeLayer layer];

[shapeLayer setBounds:self.bounds];

[shapeLayer setPosition:self.center];

[shapeLayer setFillColor:[[UIColor clearColor] CGColor]];


// 设置虚线颜色为blackColor

[shapeLayer setStrokeColor:[[UIColor blackColor] CGColor]];

[shapeLayer setStrokeColor:[[UIColor colorWithRed:223/255.0 green:223/255.0 blue:223/255.0 alpha:1.0f] CGColor]];


// 3.0f设置虚线的宽度

[shapeLayer setLineWidth:1.0f];

[shapeLayer setLineJoin:kCALineJoinRound];


// 3=线的宽度 1=每条线的间距

[shapeLayer setLineDashPattern:

 [NSArray arrayWithObjects:[NSNumber numberWithInt:3],

  [NSNumber numberWithInt:1],nil]];


// Setup the path

CGMutablePathRef path = CGPathCreateMutable();

CGPathMoveToPoint(path, NULL, 0, 89);

CGPathAddLineToPoint(path, NULL, 320,89);


// Setup the path

CGMutablePathRef path = CGPathCreateMutable();

// 0,10代表初始坐标的xy

// 320,10代表初始坐标的xy

CGPathMoveToPoint(path, NULL, 0, 10);

CGPathAddLineToPoint(path, NULL, 320,10);


[shapeLayer setPath:path];

CGPathRelease(path);


// 可以把self改成任何你想要的UIView, 下图演示就是放到UITableViewCell中的

[[self layer] addSublayer:shapeLayer];


2)画圆

CAShapeLayer *line = [CAShapeLayer layer];


line.lineWidth = 2.0f ;

line.strokeColor = [UIColor orangeColor].CGColor;

line.fillColor = [UIColor clearColor].CGColor;

CGMutablePathRef path = CGPathCreateMutable();

CGPathAddEllipseInRect(path, nil, CGRectMake(100.0f, 100.0f,50.0f, 50.0f));

line.path = path;

CGPathRelease(path);

[self.layer addSublayer:line];


CGMutablePathRef path = CGPathCreateMutable();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值