UITextField rightViewMode comportamento estranho

Estou adicionando um botão Limpar personalizado (UIButton) a um UITextField como o rightView, no entanto, descobri que há algum comportamento estranho no viewMode. Não parece ser exibido como o botão limpar normal, apesar do modo de visualização estar definido. Exemplo de código abaixo:

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;

O botão é exibido corretamente nos seguintes estados:

Mostra enquanto está focado e sem texto Mostra enquanto está focado e digitandoOculta quando não há foco

No entanto, se o campo de texto já tiver conteúdo e você mudar o foco para ele, o botão Limpar não será exibido. Para que seja exibido novamente, você deve excluir todo o texto e alternar o foc

Não encontrei mais ninguém com esse problema, por isso estou coçando minha cabeça por um tempo. Qualquer luz derramada muito apreciada.

questionAnswers(3)

yourAnswerToTheQuestion