La fonction devenueFirstResponsder d'UITextView ne fonctionne pas correctement

J'ai un UIView avec un UITextView et UITextField comme une sous-vue. Je veux que le keyboard apparaisse automatiquement sur l'appel textFieldShouldReturn .

 - (BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; [textView becomeFirstResponder]; return YES; } 

mais cela ne fonctionne pas ET pour une raison quelconque, il affiche le keyboard avec le slider sur la ligne suivante en mode text. J'ai essayé de placer le text nul dans le textview mais il appelle automatiquement la méthode de textDidChange et le slider se déplace sur la nouvelle ligne sans aucun text.

entrez la description de l'image ici

Cette même technique fonctionne correctement pour un UITextField et fonctionne aussi bien avec iOS 5.0 mais comment corriger cela dans iOS 4.3. Faites-moi savoir si vous avez une autre alternative.

Est-ce que je manque quelque chose d'évident?

Il y a un bug connu dans iOS qui consiste à démissionner et à devenir le premier répondeur dans le même runloop. Essayez le suivant

 [textField resignFirstResponder]; [textView performSelector:@selector(becomeFirstResponder) withObject:nil afterDelay:0.0];