更改CAShapeLayer笔触位置

时间:2018-10-19 22:56:35

标签: ios objective-c cashapelayer

我有一个collectionviewcell cell,我要添加一个CAShapeLayer给我的frontImageView一个半边框。我现在成功编写的代码创建了一个半边框,但不在我想要的位置。设置stokeEnd=0.5在我的imageView底部创建一个半边框。我希望边框位于imageView的右侧。从顶部中心到底部中心(右侧)。

我可以沿着右侧从imageView的顶部中心到底部的中心绘制描边线吗?

CAShapeLayer *shape = [CAShapeLayer layer];
UIBezierPath *path=[UIBezierPath bezierPathWithOvalInRect:cell.frontImageView.frame];
[shape setPath:path.CGPath];

shape.strokeColor=[UIColor purpleColor].CGColor;
shape.fillColor=[UIColor clearColor].CGColor;
shape.lineWidth = 5.0f;
shape.lineCap = kCALineCapRound;
[shape setStrokeEnd:0.5];
[cell.layer addSublayer:shape];

1 个答案:

答案 0 :(得分:0)

您可以使用常规弧路径创建路径:(Swift 4.2)

UIBezierPath(arcCenter: view.center, radius: view.frame.width / 2, startAngle: -CGFloat.pi / 2.0, endAngle: CGFloat.pi / 2.0, clockwise: true)

通过此路径设置形状的路径。