先来看看效果:
大概整理了下思路,可能还有不完整. 如下:
1.首先是搭建界面.由于太基础这里就不详细演示.
2.画线,添加起始点和终点.
起始点:
path = [TBLBezierPath bezierPath];
path.lineWidth = self.lineWidth;
path.pathColor = self.lineColor;
[path moveToPoint:point];
终点:
UITouch *touch = touches.anyObject;
CGPoint addPoint = [touch locationInView:self];
[path addLineToPoint:addPoint];
[[self.lines lastObject] addLineToPoint:addPoint];
[self setNeedsDisplay];
渲染:
[line stroke];
2.复杂的问题可以分解成一个一个简单的问题,在我们完成单条线的绘制之后,我们会像如何同时绘制多条线? 在这,我想到的是用一个数组保存每一条线:
- (NSMutableArray *)lines {
if (!_lines) {
_lines = [NSMutableArray array];
}
return _lines;
}
3.第三步就是功能的完善和细节的处理,例如线条的粗细,线条的颜色,清除,回退功能的完成.
PS:初次进入时,线条的默认颜色,粗细需要设置.否则会有问题.
网友评论