[ios] Restrinja el número de caracteres en UITextField


Answers

Puedes agregar un evento como este:

textField1.addTarget(self, action: #selector(YourViewController.textFieldDidChange(_:)), forControlEvents: UIControlEvents.EditingChanged)
textField2.addTarget(self, action: #selector(YourViewController.textFieldDidChange(_:)), forControlEvents: UIControlEvents.EditingChanged)

Luego implementa esta función:

func textFieldDidChange(textField: UITextField) {
    if textField == self.textField1 && textField.text.length > 12 { 
        // Do whaterver you want
    }
    if textField == self.textField2 && textField.text.length > 1 { 
        // Do whaterver you want
    }
}
Question

Esta pregunta ya tiene una respuesta aquí:

He visto muchas respuestas, pero parece que ninguna de ellas ha funcionado. Tengo un UIAlertView creado programáticamente con dos UITextFields. Quiero restringir el número de caracteres:

  • 12 caracteres en el primer campo
  • 1 personaje en el segundo campo

Primer código de campo:

alertDialog.addTextField { (nameField) in
        nameField.placeholder = "Name"
        nameField.borderStyle = .roundedRect
        nameField.clearButtonMode = .whileEditing
        }

Y segundo

alertDialog.addTextField { (keyField) in
        keyField.placeholder = "Key"
        keyField.borderStyle = .roundedRect
        keyField.clearButtonMode = .whileEditing

    }

¿Cómo puedo restringir correctamente el número (pretendemos que no habrá pegado en este campo)?




Links