最近抽時間將項目優(yōu)化了一下,發(fā)現(xiàn)輸入框這個東西好煩啊,各種輸入限制,之前寫的時候也是趕項目,封裝的不是很理想,于是抽時間將會用到的輸入框從新封裝了一下,方便以后在項目中使用!
這里不講邏輯了,因為大同小異,只是將類的使用簡單說明下,具體代碼,用的話自己下載吧,文章下面會給鏈接
先看效果吧:
屏幕快照 2017-10-23 03.04.58 PM.png
手機號
Snip20171023_1.png
身份證號碼
Snip20171023_2.png
銀行卡號
Snip20171023_4.png
6-18位數(shù)字和字母組成的密碼-密文+非密文展示
Snip20171023_5.png
Snip20171023_6.png
下面就是框架的類的作用,有需要修改的自行到對應(yīng)的文件修改即可
Snip20171023_8.png
外部調(diào)用 哪個類調(diào)用,需要類遵守JJTextFieldRegular協(xié)議
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