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 foco

Sin 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.

Respuestas a la pregunta(3)

Su respuesta a la pregunta