欢迎光临
我们一直在努力

swift 写的一个手势解锁

建站超值云服务器,限时71元/月

swift 写的一个手势解锁

项目介绍:

swift 写的一个手势解锁,集成主要代码如下:

[Objective-C] 查看源文件 复制代码

import UIKit

class ViewController: UIViewController {
    
    // 暂存password
    var tempPath:String = ""
    // 提示信息label
    let tipLabel = UILabel()
    // 重置button
    let reBtn = UIButton(type: .System)
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        self.initUI()
        self.initUnlockView()
    }
    // MARK: - 获取宽高
    func width(view:UIView)->CGFloat {
        return view.frame.size.width
    }
    func height(view:UIView)->CGFloat {
        return view.frame.size.height
    }
    // MARK: - 初始化界面
    func initUI() {
        // label
        tipLabel.frame = CGRectMake(0, height(self.view) - 300, width(self.view), 50)
        tipLabel.textAlignment = .Center
        // 设置label文字     没有设置的时候设置,设置以后输入解密
        if let _ = NSUserDefaults.standardUserDefaults().valueForKey("password"){
            self.tipLabel.text = "请绘制手势解锁"
        }else {
            self.tipLabel.text = "请设置手势密码"
        }
        self.view.addSubview(tipLabel)
        // button
        reBtn.frame = CGRectMake(0, 0, 200, 40)
        reBtn.center = CGPointMake(width(self.view) / 2, height(self.view) - 200)
        reBtn.setTitle("重置密码", forState: .Normal)
        reBtn.addTarget(self, action: "btnClick:", forControlEvents: .TouchUpInside)
        self.view.addSubview(reBtn)
    }
    // MARK: - 初始化解锁界面
    func initUnlockView() {
        // lockView
        let unlock:UnLockView = UnLockView.init(frame: CGRectMake(0, 0, width(self.view), height(self.view) - 300))
        self.view.addSubview(unlock)
        // 闭包
        unlock.myUnlock = {(path:String)->Void in
            // 不过有的话验证密码,没有的话设置
            if let password = NSUserDefaults.standardUserDefaults().valueForKey("password"){
                if password as! String == path {
                    self.tipLabel.text = "密码正确"
                }else {
                    self.tipLabel.text = "密码错误"
                }
            }else {
                // 设置密码
                self.checkWith(password: path)
            }
        }
    }
    // MARK: - 设置密码
    func checkWith(password password:String) {
       // 小于4个点提示错误
        if password.characters.count < 4 {
            self.tipLabel.text = "至少连接4个点"
            return
        }else {
            // 第一次绘制以后提示第二次绘制
            if tempPath.characters.count == 0 {
                tipLabel.text = "请确定解锁图案"
                tempPath = password
                return
            }else {
                // 第二次绘制如果跟第一次一样,就存入本地,不一样提示错误
                if tempPath == password {
                    NSUserDefaults.standardUserDefaults().setObject(password, forKey: "password")
                    tipLabel.text = "设置成功"
                }else {
                    tipLabel.text = "两次不一样"
                }
            }
        }
    }
    func btnClick(sender:UIButton) {
        NSUserDefaults.standardUserDefaults().removeObjectForKey("password")
        self.tipLabel.text = "请设置手势密码"
    }
    override func prefersStatusBarHidden() -> Bool {
        return true
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}



GestureUnlock.zip
(91.62 KB, 下载次数: 313)

2016-7-19 17:16 上传
点击文件名下载附件

阅读权限: 1

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » swift 写的一个手势解锁
分享到: 更多 (0)