首页 > 技术文章 > iOS图案锁,支持动画、图片、绘图

kongkaikai 2016-04-26 15:22 原文

最近忙着搭建一个聊天用的框架,过几天应该会整理写出来吧,原理不难,但是实现后会省很多事。好久没写博客,周末心血来潮写了个图案锁,这东西没什么技术含量,网上一堆,这次这个图案锁顺便联系了怎么打包使用.a .bundle

注:支持动画、图片做触摸点,另外,打包成.a的资源包含了图片,比较大,想自定义的童鞋,可以使用未打包的,然后自己定义资源,使用颜色的,会按照默认样式绘图,不好意思,现在不支持改变样式,只能改变颜色,不过图片可以弥补这个缺陷。

先上超链接: 

    普通版:PLView.zip

   .a含资源版:PatternLockView.a.zip

使用方法里面有;

下面简单的介绍下

 1 #import "ViewController.h"
 2 #import "PatternLockView.h"//头文件
 3 
 4 @interface ViewController () <PatternlockViewDelegate>//协议
 5 @property (nonatomic,strong) PatternLockView * pv; //view
 6 @end
 7 
 8 @implementation ViewController
 9 
10 - (void)viewDidLoad {
11     [super viewDidLoad];
12     // Do any additional setup after loading the view, typically from a nib.
13     _pv = [[PatternLockView alloc]initWithFrame:self.view.frame];//建议采用initWithFrame初始化
14     
15     [_pv setFillWay:PLFillWayAnimation andFillArray:nil];//设置填充方式,资源填nil则需要引入我之前制作的图片资源
16     
17     [_pv setPointsSize:CGSizeMake(3, 3)];//设置点的个数,这里是3*3
18     
19     [_pv setPointRadius:50];//设置点的半径
20     
21     _pv.delegate = self;
22     
23     [_pv startDraw];//一定要完成设置再调用该方法,
24     
25     [self.view addSubview:_pv];
26 //    [_pv clearDraw]  //恢复默认样式。
27 }
28 //协议方法
29 - (void)PatternlockView:(PatternLockView*)patternlockView didTouchPointAtIndex:(NSInteger)index andCountOfTouchPoint:(NSInteger)count
30 {
31     NSLog(@"当前选择的是:%ld ,当前供选择了%ld个点。",(long)index,(long)count);
32 }
33 //协议方法
34 - (void)PatternlockView:(PatternLockView*)patternlockView didEndTouchMoveWithIndexs:(NSArray<NSNumber*>*)indexs
35 {
36     NSLog(@"共选择%@",indexs);
37 }
38 //协议方法
39 - (void)PatternlockView:(PatternLockView*)patternlockView didEndTouchMoveWithString:(NSString*)string
40 {
41     NSLog(@"选择结束的字符串是:%@",string);
42     
43     NSLog(@"将样式设置成成功样式!");
44     [_pv setStyleTo:PatternLockStyleSuccess];
45 }

使用不是很麻烦,但是记得在  startDraw 之前完成相关设置,设置都有默认值。

差几张截图:

推荐阅读