Agregar el button "Borrar" a un iPhone UITextField

¿Cómo agrega ese pequeño button "X" en el lado derecho de un UITextField que borra el text? No puedo encontrar un atributo para agregar este subd control en Interface Builder en el iPhone OS 2.2 SDK.

Nota: en Xcode 4.xy posterior (iPhone 3.0 SDK y posterior), puede hacer esto en Interface Builder.

Este button es una superposition incorporada proporcionada por la class UITextField, pero a partir del iPhone OS 2.2 SDK, no hay ninguna forma de configurarlo a través de Interface Builder. Tienes que habilitarlo mediante progtwigción.

Agregue esta línea de código en alguna parte (viewDidLoad, por ejemplo):

myUITextField.clearButtonMode = UITextFieldViewModeWhileEditing; 

ACTUALIZACIÓN: la última versión de Xcode IB admite esta propiedad.

También puede establecer esto directamente desde Interface Builder en el Inspector de attributes.

introduzca la descripción de la imagen aquí

Tomado de XCode 5.1

puede agregar un button de borrado personalizado y controlar el tamaño y todo lo que utiliza esto:

 UIButton *clearButton = [UIButton buttonWithType:UIButtonTypeCustom]; [clearButton setImage:img forState:UIControlStateNormal]; [clearButton setFrame:frame]; [clearButton addTarget:self action:@selector(clearTextField:) forControlEvents:UIControlEventTouchUpInside]; textField.rightViewMode = UITextFieldViewModeAlways; //can be changed to UITextFieldViewModeNever, UITextFieldViewModeWhileEditing, UITextFieldViewModeUnlessEditing [textField setRightView:clearButton]; 

Swift 3:

 textField.clearButtonMode = UITextFieldViewMode.WhileEditing 

o incluso más corto:

 textField.clearButtonMode = .whileEditing 

C objective :

 self.txtUserNameTextfield.myUITextField.clearButtonMode = UITextFieldViewModeWhileEditing; 

Swift:

 txtUserNameTextfield.clearButtonMode = UITextFieldViewMode.WhileEditing; 

En Xcode 8 (8A218a):

Rápido:

 textField.clearButtonMode = UITextFieldViewMode.whileEditing; 

La "W" pasó de capital a "w" sin capitalización.

esto no funciona, haz como yo:

rápido:

 customTextField.clearButtonMode = UITextFieldViewMode.Always customTextField.clearsOnBeginEditing = true; func textFieldShouldClear(textField: UITextField) -> Bool { return true } 

En Xcode Versión 8.1 (8B62) se puede hacer directamente en el Inspector de Atributos. Seleccione el campo de text y luego elija la opción adecuada del cuadro desplegable del button Borrar, que se encuentra en el Inspector de attributes.