Swift--实现指纹解锁

最近为了熟悉swift,写了一个小demo,记录一下swift中遇到的坑和常用的问题

项目结果在最后:

1.搭建环境

在storyboard中,创建3个btn,设置密码、验证密码、修改密码


2.创建手势显示DrawController,使用xib,搭建界面

2.1 创建2个lab,第一个lab显示,不同的type用;第二个lab,根据type提示内容.

2.2 在视图中,添加一个空白View,之后显示手势视图,命名为DrawView

2.3 在DrawController下面,创建忘记密码Btn,用作返回

并在文件中,创建全局变量:


3.返回到ViewController中,创建btn的点击事件,用tag标示,使用摸态视图

注意: 在swift中,默认不会关联xib,需要开发人员手动设置

用代码实现相关的内容:

3.1 在viewController中的内容已经处理完成。


4.回到DrawViewController中

4.1添加两个全局变量

//根据tag值进行不同加载

var whTag =0

var updateTag =0//修改用到

4.2 在viewWillAppear中,根据tag实现lab的显示

5.在自定义显示手势的DrawView中,需要创建内容来显示手势按钮,用代码实现,记住在DrawController.xib中绑定DrawView

5.1 swift中默认是不会有值得,需要创建值

var btnSelectArr:(NSMutableArray) = [] //保存获取到的按钮集合

5.2 swift中必须要实现的方法,在这个里面才能调用函数等内容

required init?(coder aDecoder:NSCoder) {

super.init(coder: aDecoder)

crateBtn()  } 

5.3 创建手势btn,还是比较简单的

改函数,需要放到上面调用.


5.4 下面做手势的功能

在做手势前,需要了解,触摸的三个步骤,touchesBegan,touchesMoved,touchesEnded,

首先,我们要获取触摸点,得到触摸点之后,在通过CGPoint,获取到btn,所以要创建两个函数

第一个:

第二个:

首先在触摸开始中:

通过函数获取到btn,并判断有没有,在存到集合当中

在触摸移动的过程中:

同样通过函数获取到btn,判断btn 的选中状态和是否为空,存到集合中


在触摸结束时:

需要创建一个delegate,使用str把所选择的btn,拼接到str中,所以参数为,当前对象,和路径path,最后会在DrawController中调用

6.处理好手势后,我们就需要把手势给绘制出来

创建一个函数处理btn状态

7.回到DrawViewController,添加DrawView的代理协议,跟OC不同的是,swift添加代理后,必须实现函数,不然会报错

在UIViewControllerh后,添加代理drawViewDelegate

在下面实现代理函数

最后实现了:手势截屏的功能


到此,大部分代码就是这样,最后演示一下效果:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,196评论 4 61
  • 19:30,某城都市 窗外光似黄昏戛然,无论如何也黑不彻底。 楼下的广场大妈乐此不疲,一切...
    大侠姓文阅读 335评论 2 2
  • 很久以前,我们叫简书拾遗。再后来,我们叫简书日报。现在,我们细分成简书早晚报。 因为我们拥有那么多优秀的作者,好文...
    简黛玉阅读 2,684评论 15 47
  • 曾记得上学时,读过鲁迅一篇文章,讲述的是阅读的方法:第一遍略读;第二遍粗读;第三遍精读。当今新媒体时代到来,大量信...
    悟兮阅读 530评论 0 0
  • 春有百花秋有月,夏有凉风冬有雪。 若无闲事挂心头,便是人间好时节。
    努力努力的努力阅读 133评论 1 1