Pregunta

Por alguna razón, ninguno de mis UITextFields se autocapitalize. He establecer la propiedad en InterfaceBuilder, así como programáticamente como se muestra a continuación.

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"search_cell"];
UITextField *tf = [[UITextField alloc] initWithFrame:CGRectMake(12, 10, 320, 32)];
tf.autocapitalizationType = UITextAutocapitalizationTypeWords;
tf.returnKeyType = UIReturnKeySearch;
tf.font = [UIFont boldSystemFontOfSize:20.0];
tf.delegate = self;
[cell addSubview:tf];
[tf becomeFirstResponder];

¿Hay alguna forma que podría haber establecido alguna bandera que inhabilita autocapitalization lo largo de toda la aplicación sin darse cuenta?

Gracias

¿Fue útil?

Solución

¿Ha comprobado la configuración de tu iPhone -> General -> Teclado -> Uso de mayúsculas automático

Otros consejos

He descubierto que si se desactiva la corrección automática después de mayúsculas automático no funciona bien. Me parece que deberían funcionar de forma independiente. En un campo de nombre que uno quiere capitalizar cada palabra pero no sustituir un nombre de forma automática con lo que predice el diccionario.

No pude conseguir que funcione independientemente de la configuración. Así que sólo hay que poner esto en el delegado del campo de texto:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

    // Handle the backspace.
    if ([string isEqualToString:@""]) return YES;

    // Otherwise convert to uppercase and change the textfield manually.
    textField.text = [[textField.text stringByAppendingString:string] uppercaseString];
    return NO;
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top