这是一个用于动画线绘制的库(如隐形铅笔)。允许你声明一系列绘图步骤,设置速度(每秒点数)然后告诉它开始绘图。我刚刚开始这个库的开发,所以现在是非常基础的。未来将会更加出色。
在你的Podfile中添加以下行:
pod "MTPencil"
pod? => https://github.com/CocoaPods/CocoaPods/
注意:如果你的pods库只包含分类,你可能需要在你的目标的构建设置中的"其他链接器标志"中添加-all_load
。
在这里我们创建一个铅笔对象,告诉它要绘制哪个视图。然后,我们定义一系列移动或绘图步骤,所有步骤都从上一个步骤结束的地方开始,然后我们告诉它开始绘制。
@interface MTTestView ()
@property (strong) MTPencil *pencil;
@end
@implementation MTTestView
- (void)drawPicture
{
MTPencilSpeed speed = MTPencilSpeedVerySlow;
_pencil = [MTPencil pencilDrawingInView:self];
[[_pencil move] to:CGPointMake(100, 100)];
[[[_pencil stroke] angle:MTPencilStepAngleUpRight distance:20] speed:speed];
[[[_pencil stroke] angle:MTPencilStepAngleUp distance:50] speed:speed];
[[[_pencil stroke] angle:MTPencilStepAngleRight distance:100] speed:speed];
[[[_pencil stroke] angle:MTPencilStepAngleDown distance:200] speed:speed];
[[[_pencil stroke] angle:MTPencilStepAngleLeft distance:100] speed:speed];
[[[_pencil stroke] angle:MTPencilStepAngleUp distance:123] speed:speed];
[[[_pencil stroke] angle:MTPencilStepAngleUpLeft distance:20] speed:speed];
[[[_pencil stroke] to:CGPointMake(200, 200)] speed:speed];
[_pencil beginWithCompletion:^(MTPencil *pencil) {
}];
}
- (void)drawRect:(CGRect)rect
{
[_pencil animate];
}
@end
注意:你必须在视图的drawRect中调用铅笔的animate
方法。
你可以让铅笔以任何角度(例如143度)绘制,但这里有一些预定义的枚举来帮助你。
MTPencilAngleUp = -90
MTPencilAngleDown = 90
MTPencilAngleLeft = 180
MTPencilAngleRight = 0
MTPencilAngleUpRight = -45
MTPencilAngleUpLeft = -135
MTPencilAngleDownRight = 45
MTPencilAngleDownLeft = 135
你可以告诉它以每秒点数(PPS)的速度绘制,或者使用一些默认值。
MTPencilSpeedVerySlow = 100
MTPencilSpeedSlow = 400
MTPencilSpeedMedium = 600
MTPencilSpeedFast = 800
MTPencilSpeedVeryFast = 1000