Если я получил ваш вопрос правильно, Рассмотрим ниже примере кода:
import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var txtF: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
txtF.delegate = self
txtF.addTarget(self, action: "textFieldDidChange:", forControlEvents: UIControlEvents.EditingChanged)
}
func textFieldDidChange(textField: UITextField) {
if textField == txtF {
if textField.text?.characters.count == 4 {
self.txtF.resignFirstResponder()
}
}
}
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
if textField == txtF {
if textField.text?.characters.count > 3 {
self.txtF.resignFirstResponder()
return false
} else {
return true
}
} else {
return true
}
}
}
С кода выше клавиатуры скрою, когда TextField имеют 4-х символов и после этого, если пользователь снова нажмите на TextField клавиатуре появится быть пользователь не в состоянии ввести текст в textField, и клавиатура снова скроется.
Результата будет:
Надеется, что это поможет.
См. Http://stackoverflow.com/questions/28394933/how-do-i-check-when-a-uitextfield-changes. Метод проверяет текущую длину. Когда это правильный размер, отпустите клавиатуру. – rmaddy
Возможный дубликат [Как скрыть клавиатуру быстрым нажатием клавиши возврата?] (Http://stackoverflow.com/questions/24180954/how-to-hide-keyboard-in-swift-on-pressing-return-key) –
@AbhinandanPratap Нет, это не дубликат, так как OP не спрашивает, как отклонить клавиатуру, когда нажата кнопка возврата. – rmaddy