GPassword 是一个简单、高效、易用的手势密码库
,基于 CAShapeLayer 和 UIBezeierPath。git
三角函数和反三角函数
私有库
时,最后暴露出来的不该该是一个控制器,而应该是视图,要否则作界面定制将会很难作3*3
、4*4
...的矩阵CocoaPodsgithub
pod "GPassword"
复制代码
或者直接拖拽 Source
文件夹进入你的项目。swift
定义统一的样式,你能够调用:函数
GPassword.config { (options) in
options.connectLineStart = .border
options.normalstyle = .innerFill
options.isDrawTriangle = true
options.matrixNum = 3
}
复制代码
而后能够直接用这个文件 Box.swift
直接做为手势密码
视图或者将它添加到控制器
上使用性能
fileprivate lazy var passwordBox: Box = {
let box = Box(frame: CGRect(x: 50, y: 200, width: GWidth - 2 * 50, height: 400))
box.delegate = self
return box
}()
复制代码
而后须要作的就是实现两个代理方法,具体的业务逻辑也应该在里面实现:ui
sendTouchPoint
能够从内部发出完整的手势密码touchesEnded
根据类型(设置/确认/修改)处理具体的业务逻辑extension PasswordViewController: EventDelegate {
func sendTouchPoint(with tag: String) {
password += tag
// get complete password
}
func touchesEnded() {
// write business logics according to type
}
}
复制代码
开发人能够根据本身的业务逻辑实现具体的细节,在 demo 里我已经写了一个简单的例子能够直接使用参考 PasswordViewController.swift
,根据本身的状况进行调整。spa