Dépannage becomeFirstResponder ne montrant pas de clavier, pour certains utilisateurs

J'ai eu un TextView qui est censé montrer sur un bouton de la presse, et de permettre à l'utilisateur d'entrer du texte au moyen du clavier.

- (IBAction) changeName {

    changeNameBtn.hidden = YES;
    backBtn.hidden = YES;

    usernameLabel.hidden = NO;
    inputTextField.hidden = NO;
    [inputTextField becomeFirstResponder]; //to show keyboard
}

Cela fonctionne très bien pour la plupart d'entre nous.

Mais le Clavier ne se présentent pas pour certains de mes testeurs, à un emplacement distant géographiquement. Comment faire pour dépanner? Et quelle pourrait être la raison pour le comportement différent de nos appareils? Il fonctionne très bien pour moi et tous les autres. Nous utilisons tous les mêmes appareils (iPod, iOS 4.1 - 5.1).

Première chose que j'ai essayé ne fonctionne pas:

J'ai deviné que le inputTextField n'a pas de devenir visible dans le temps, avant de becomeFirstResponder a été tiré, j'ai donc ajouté setNeedsDisplay que je pensais que ce serait forcer une mise à jour.

[inputTextField setNeedsDisplay];
[inputTextField becomeFirstResponder];

Deuxième chose que j'ai essayé ne fonctionne pas:

if([inputTextField canBecomeFirstResponder]){
    [inputTextField becomeFirstResponder];
}

Troisième chose que j'ai essayé est une solution de contournement, nécessitant le malheureux utilisateur à appuyer sur le champ:

- (IBAction) inputTextFieldTouch {
    [inputTextField becomeFirstResponder];
}

Cette solution fonctionne, mais il doit y avoir une meilleure façon. Merci de m'éclairer sur ce que je fais de mal! 🙂 Et la façon d'aborder les questions de ce genre sans être en mesure de dupliquer il à moi?

OriginalL'auteur JOG | 2011-12-12