最近抽时间将项目优化了一下,发现输入框这个东西好烦啊,各种输入限制,之前写的时候也是赶项目,封装的不是很理想,于是抽时间将会用到的输入框从新封装了一下,方便以后在项目中使用!
这里不讲逻辑了,因为大同小异,只是将类的使用简单说明下,具体代码,用的话自己下载吧,文章下面会给链接
先看效果吧:
手机号
Snip20171023_1.png
身份证号码
Snip20171023_2.png
银行卡号 Snip20171023_4.png
6-18位数字和字母组成的密码-密文+非密文展示
Snip20171023_5.png Snip20171023_6.png下面就是框架的类的作用,有需要修改的自行到对应的文件修改即可
Snip20171023_8.png外部调用 哪个类调用,需要类遵守JJTextFieldRegular协议
var typeID : NSString?
let phoneTextField = JJTextField.init(frame: CGRect(x: 30, y: 100, width: 300, height: 40))
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = UIColor.white
let btn = UIButton().loadBtn()
btn.center = self.view.center
btn.addTarget(self, action: #selector(action), for: .touchUpInside)
view.addSubview(btn)
if typeID == "0" {
phoneTextField.type = .phone
}else if typeID == "1" {
phoneTextField.type = .IDCard
} else if typeID == "2" {
phoneTextField.type = .bankCard
}else if typeID == "3" {
phoneTextField.type = .password
}
view.addSubview(phoneTextField)
}
@objc func action() {
if typeID == "0" {
self.phone()
}else if typeID == "1" {
self.idCard()
} else if typeID == "2" {
print("暂时无判断")
}else if typeID == "3" {
self.password()
}
}
//手机号判定
func phone() {
let bool = self.jj_checkPhone(phoneTextField.textOverridee())
if bool {
print(phoneTextField.textOverridee())
}else{
print("非手机号")
}
}
//密码
func password() {
let bool = self.jj_checkPassworld(phoneTextField.textOverridee())
if bool {
print(phoneTextField.textOverridee())
}else{
print("非密码格式")
}
}
//身份证
func idCard() {
let bool = self.jj_checkPassworld(phoneTextField.textOverridee())
if bool {
print(phoneTextField.textOverridee())
}else{
print("非身份证")
}
}
文章Demo下载链接 :https://gitee.com/liu_j_j/JJ_textField.git
注:一直用码云,所以代码都是传到码云的
终端下载: (1)cd DeskTop
(2)git clone https://gitee.com/liu_j_j/JJ_textField.git
网友评论