近期增加了object-c的具体应用,包括手势绘制,验证,更新,以及处理了一些手势绘制过程中Bug。详情见object-c实现。
- 一、swift实现
使用swift实现iOS手势锁屏,虽然在iOS客户端很少使用到滑动手势,但是有时候为了和安卓应用保持用户交互的一致性,所以有的时候还是很有必要的。
iOS客户端解锁建议使用touch ID。
swift与object-c的CGContextRef不一样,在swift中统一使用CGContext进行管理和使用。
本示例采用9*button进行绘制,关闭button交互事件,通过touchesBegan系列方法对滑动路径进行跟踪和绘制(imageView)。
以下为全部代码:
- 二、object-c实现
object-c实现与swift逻辑一致,只是加入在实际使用过程中遇到的问题,使其更有参考性和实际应用价值。
注:代码中有部分资源是中英文适配使用的。如:NSLocalizedString
在object-c中考虑到屏幕适配会导致button图片拉伸,所以使用UIView代替UIButton。自定义了一个UIView.
1、RoundRectView.h
|
|
2、RoundRectView.m
|
|
3、TouchUpViewController.h
|
|
4、TouchUpViewController.m
|
|
5、AppDelegate中新增UIwindow属性用于遮罩
|
|
在合适的时候对lockScreenWindow.hidden属性进行操作。
通过上述两个类,初步建立了手势密码的逻辑体系。