[英]How do I delete value from one textfield after the other as long as x button on keyboard is pressed
我有4個文本字段,每個文本字段均接受1位數的密碼。 每次輸入數字時,它都會自動移至第二個數字的另一個文本字段,直到到達最后一個第四個數字的文本字段。 這很好。 但是,當我單擊數字鍵盤上的刪除(x)按鈕以更改數字時,除非我位於第4個文本字段,否則它不會刪除數字,然后它會移動並刪除第3個,第2個,然后第一個文本字段只要按下刪除(x)按鈕。
這是代碼
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
// On inputing value to textfield
if ((textField.text?.count)! < 1 && string.count > 0){
if(textField == pinOne){
pinTwo.becomeFirstResponder()
}
if(textField == pinTwo){
pinThree.becomeFirstResponder()
}
if(textField == pinThree){
pinFour.becomeFirstResponder()
}
textField.text = string
if let actualText = textField.text {
let pinEntered: Character = Character(actualText)
concatString += String(pinEntered)
if concatString.count == 4 {
checkPin()
}
}
return false
} else if ((textField.text?.count)! >= 1 && string.count == 0){
// On Deleting value from Textfield
if(textField == pinTwo){
pinOne.becomeFirstResponder()
}
if(textField == pinThree){
pinTwo.becomeFirstResponder()
}
if(textField == pinFour) {
pinThree.becomeFirstResponder()
}
textField.text = ""
return false
}
}
請幫忙。 謝謝!
編寫以下關閉按鈕操作:-@IBAction函數CloseAction(_ sender:Any){
if !(self.pinFour.text?.isEmpty)! || self.tagValue == 4 {
self.pinFour.text = ""
self.pinThree.becomeFirstResponder()
}else if !(self.pinThree.text?.isEmpty)! || self.tagValue == 3{
self.pinThree.text = ""
self.pinTwo.becomeFirstResponder()
}else if !(self.pinTwo.text?.isEmpty)! || self.tagValue == 2{
self.pinTwo.text = ""
self.pinOne.becomeFirstResponder()
}else if !(self.pinOne.text?.isEmpty)! || self.tagValue == 1{
self.pinOne.text = ""
}
self.tagValue -= 1
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.