有些APP开发中需要用到电子签名,封装成一个View,使用灵活.
ZHSignatureView.h里的一些配置参数,可以不传
@interface ZHSignatureView : UIView
/**
已签名的照片,跳转传入
*/
@property(nonatomic, strong) UIImage *signImage;
/**
签名笔划颜色,默认blackColor
*/
@property(nonatomic, strong) UIColor *lineColor;
/**
签名笔划宽度,默认3.3
*/
@property(nonatomic, assign) CGFloat lineWidth;
/**
无签名时占位文字,默认"签名区域"
*/
@property(nonatomic, copy) NSString *placeHoalder;
/**
占位文字字体颜色,默认grayColor
*/
@property(nonatomic, strong) UIColor *placeHoalderTextColor;
/**
占位文字字体大小,默认35
*/
@property(nonatomic, strong) UIFont *placeHoalderTextFont;
/**
签名完成的回调Block,签名图片
*/
@property(nonatomic, copy) void(^signDone)(UIImage *signImage);
/**
清除Blcok,可调用- (void)clearSignature;进行清除已有签名
*/
@property(nonatomic, copy) void(^signClear)(ZHSignatureView *signView);
/**
清除签名
*/
- (void)clearSignature;
在需要签名的地方进行初始化
ZHSignatureView *sign = [[ZHSignatureView alloc] initWithFrame:CGRectMake(0, 0, size.width, size.height-navHeight)];
sign.lineColor = [UIColor blueColor];
sign.signDone = ^(UIImage *signImage) {
self.signResult(signImage);
[self.navigationController popViewControllerAnimated:YES];
};
sign.signClear = ^(ZHSignatureView *signView) {
[signView clearSignature];
};
[self.view addSubview:sign];
一般签名我们都是横屏展示,具体方法详见Demo