Estoy agregando un botón claro personalizado (UIButton) a un UITextField como el RightView, sin embargo, he encontrado que hay un comportamiento extraño en el modo viewMode. No parece mostrarse como lo hace el botón de borrado normal, a pesar de que se está configurando el modo de visualización. código de ejemplo a continuación:UITextField rightViewMode comportamiento impar
UITextField *f = [[[UITextField alloc] init] autorelease];
f.frame = CGRectMake(0, 0, 300, 44);
f.backgroundColor = [UIColor clearColor];
f.textColor = [UIColor whiteColor];
f.clearButtonMode = UITextFieldViewModeNever;
UIImage *image = [UIImage imageNamed:@"Image.png"];
UIButton *b = [UIButton buttonWithType:UIButtonTypeCustom];
b.frame = CGRectMake(0, 0, image.size.width, image.size.height);
[b setImage:image forState:UIControlStateNormal];
f.rightView = b;
f.rightViewMode = UITextFieldViewModeWhileEditing;
El botón muestra correctamente en los siguientes estados:
- Shows mientras enfocadas y sin texto
- Shows, mientras que la concentración y escribir
- Oculta cuando hay un enfoque
Sin embargo, si el campo de texto ya tiene contenido, y cambia el foco al mismo, el botón borrar no se cómo. Para que se muestre nuevamente, debe eliminar todo el texto y cambiar el foco hacia adelante y hacia atrás.
No he encontrado a nadie más con este problema, así que me he estado rascando la cabeza en este por un tiempo. Cualquier derramamiento de luz muy apreciado.
Solo para aclarar el botón duerma aparece en absoluto? Tal vez intente reducir el tamaño de la imagen/tamaño del botón? Algunas cosas no han aparecido porque eran demasiado grandes. – Codr
¿Has archivado un error en Apple? – user500
no se olvidó de agregar la propiedad 'UITextFieldViewModeAlways'. –