简单画板(用UIBezierPath和CAShapeLayer几
作者:
开发者老岳 | 来源:发表于
2023-08-09 08:18 被阅读0次@interface CustomView ()
@property (nonatomic, strong) CAShapeLayer *shaperLayer;
@property (nonatomic, strong) UIBezierPath *bezierPath;
@end
@implementation CustomView
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
UITouch *touch = touches.anyObject;
CGPoint startPoint = [touch locationInView:self];
self.bezierPath = [UIBezierPath bezierPath];
[self.bezierPath moveToPoint:startPoint]; //起始点
self.shaperLayer = [[CAShapeLayer alloc] init];
self.shaperLayer.fillColor = [[UIColor clearColor] CGColor];
self.shaperLayer.strokeColor = [[UIColor greenColor] CGColor];
self.shaperLayer.lineWidth = 20;
self.shaperLayer.lineCap = kCALineCapRound; //端点圆角
self.shaperLayer.lineJoin = kCALineJoinRound; //连接点圆角
[self.layer addSublayer:self.shaperLayer];
}
- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
UITouch *touch = touches.anyObject;
CGPoint currentPoint = [touch locationInView:self];
[self.bezierPath addLineToPoint:currentPoint]; //连接点
self.shaperLayer.path = self.bezierPath.CGPath;
}
@end
本文标题:简单画板(用UIBezierPath和CAShapeLayer几
本文链接:https://www.haomeiwen.com/subject/iulgpdtx.html
网友评论