十四 iOS之 画板

这次介绍一个比较复杂一些的小demo,一个简洁的画板,主要知识点是利用贝塞尔曲线–UIBezierPath这个类去实现手动画线的操作,这个操作在很多app中电子签名这个功能中都曾用到。 先看看示例图,这个小画板有哪些工能

1、基本的画线,可以写字,你可以滑动滑块控制画线的粗细,点击最下方颜色按钮改变画线的颜色
完整

2、点击“撤销”,可以清除你上一步的操作,不断点击,可以不断撤销。如果点击“清屏”,就会清除所有
这里写图片描述
3、点击“橡皮擦”,可以抹掉屏幕上已经画出的线,滑动滑块可以改变橡皮擦的宽度
这里写图片描述
4、点击“照片”,可以进入系统相册选择图片
这里写图片描述
5、可以对图片进行拖动、旋转、放大缩小,然后长按图片,图片会定住,这时候可以在画板上画线
这里写图片描述
6、点击“保存”,会将你绘制的内容以图片的形式保存到系统相册中
这里写图片描述


一 、UI控件的布局,如下图,我在storyboard中直接拖入的,绿色区域包含一个toolBar、5个item和1个弹簧,红色区域是1个view,蓝色区域是一个view里包含3个button和1个slider。我直接将这个item和button的action方法拖入到ViewController

这里写图片描述

二、 我的项目中新增了两个view,“imageHandleView”和“drawView”; 另外自定义了一个UIBezierPath类,“DrawPath”

这里写图片描述

三、 首先要写的是DrawView,在这个类里把相应的属性和方法写好,等ViewController调用
  • DrawView.h
#import <UIKit/UIKit.h>

@interface DrawView : UIView

/**线宽*/
@property(nonatomic,assign)NSInteger lineWidth;

/**颜色*/
@property(nonatomic,strong)UIColor * pathColor;

/**照片*/
@property(nonatomic,strong)UIImage * imageDraw;

//清屏
-(void)clear;
//撤销
-(void)undo;


@end
  • DrawView.m
#import "DrawView.h"

#import "DrawPath.h"

@interface DrawView()

/**
 自定义的路径
 */
@property(nonatomic,strong)DrawPath * path;

/**路径数组*/
@property(nonatomic,strong)NSMutableArray * pathArr;

@end

@implementation DrawView
-(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值