利用CGMutablePathRef制作画板。
效果图:
ViewController里面的代码
#import "ViewController.h"
#import "PenView.h"
#import "ToolView.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//创建画板
PenView *penView = [[PenView alloc]initWithFrame:[UIScreen mainScreen].bounds];
penView.backgroundColor = [UIColor whiteColor];
[self.view addSubview:penView];
//创建工具栏
CGFloat width = [UIScreen mainScreen].bounds.size.width;
ToolView *toolView = [[ToolView alloc]initWithFrame:CGRectMake(0, 20, width, 110)];
toolView.backgroundColor = [UIColor lightGrayColor];
[self.view addSubview:toolView];
//block的实现
[toolView addColorBlock:^(UIColor *color) {
penView.color = color;
} withLineWidth:^(CGFloat width) {
penView.lineWidth = width;
} andMyBlock:^{
penView.color = [UIColor whiteColor];
penView.lineWidth = 20;
} andMyBlock:^{
[penView back];
} andMyBlock:^{
[penView clear];
}];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
penview画板类的penview.h
#import <UIKit/UIKit.h>
@interface PenView : UIView
{
CGMutablePathRef path;
NSMutableArray *pathArr;
}
@property (nonatomic, strong)UIColor *color;
@property (nonatomic, assign)CGFloat lineWidth;
- (void)back;
- (void)clear;
@end
penview画板类的penview.m 大部分功能都是在这里实现
#import "PenView.h"
#import "PathModel.h"
@implementation PenView
- (instancetype)initWithFrame:(CGRect)frame