密码输入页面的实现-模仿支付宝

github代码库地址

涉及知识点总结:

  1. swift类的继承
  2. swift中权限控制
  3. swift中的懒加载
  4. swift中类的扩展
  5. swift中的闭包(类似oc中的block)

首先大家看看效果

实现思路

使用一个隐藏的UITextField获取键盘输入的内容,根据text渲染圆形的点。

使用方法

1.简单使用
默认的密码数量是6个,颜色为grayColor

let v = SetPassWordView(frame: CGRect(x: 10, y: 100,  200, height: 40))
//完成输入的回调
v.doneAction = {(text) -> () in
    print(text)
    //to do something
}
self.view.addSubview(v)

2.设置UI样式

let v = SetPassWordView(frame: CGRect(x: 10, y: 100,  200, height: 40))
//设置密码数量
v.count = 4
//设置线条颜色
v.lineColor = UIColor.blueColor()
//设置密码点颜色
v.dotColor = UIColor.redColor()
//设置半径大小
v.dotRadius = 20
//完成输入的回调
v.doneAction = {(text) -> () in
    print(text)
    //to do something
}
self.view.addSubview(v)

具体代码大家可以到github上看,我写了很详细的注释【传送门

原文地址:https://www.cnblogs.com/iyou/p/5007976.html