UITextField rightViewMode comportamiento extraño
Estoy agregando un botón de borrado personalizado (UIButton) a un UITextField como rightView, sin embargo, he encontrado un comportamiento extraño en viewMode. No parece mostrarse como lo hace el botón de borrar normal, a pesar del modo de visualización establecido. Código de ejemplo a continuación:
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 se muestra correctamente en los siguientes estados:
Muestra mientras está enfocado y sin textoMuestra mientras está enfocado y escribiendo Oculta cuando no hay focoSin embargo, si el campo de texto ya tiene contenido, y cambia el foco a él, el botón de borrar no se muestra. Para que se muestre nuevamente, debe eliminar todo el texto y cambiar el foco de un lado a otro.
No he encontrado a nadie más con este problema, así que me he estado rascando la cabeza por un tiempo. Cualquier cambio de luz muy apreciado.