我正在制作一个图像编辑器,它可以创建不同形状的对象,如圆形,三角形和方形,这些对象也可以更新或删除。所以我用CAShapeLayer
来创建形状对象。使用CAShapeLayer对象绘制与Bezierpath的线
现在我也想在图像上画一条线,也可以更新或删除,所以我用了bezierpath和CAShapeLayer
来创建线条,它工作的很好。但现在的问题是,当我想选择任何现有的线时,可以在靠近线工具的地方选择任何线,因为CAShapeLayer
也设置了从起点到终点的直线的填充区域。
我的问题是,如何使用CAShapeLayer
创建没有填充区域的行。
这里是我创建一行代码:
CAShapeLayer *line = [CAShapeLayer layer];
// Using bezierpath to make line
UIBezierPath *linePath=[UIBezierPath bezierPath];
// Creating L with line
[linePath moveToPoint:point1];
[linePath addToPoint:point2];
[linePath addToPoint:point3];
line.path=linePath.CGPath;
// Configure the appearence of the line
line.fillColor = Nil;
line.opacity = 1.0;
line.strokeColor = [UIColor whiteColor].CGColor;
对此有何想法会非常感激。
它的工作原理。可能你忘了添加图层'''[self.view.layer addSublayer:line];''' – Shmidt
我也添加了这一行,它创建的线条很好,但它也填充区域从起点到终点并考虑它作为图层的一部分。所以问题在于,每当我尝试在线路层附近点击时都会被选中。 –
你应该使用'[linePath addLineToPoint:point2]'? –