Question

Je me concentre sur un uitextview après avoir établi son .caché propriété à non. Lorsque je définis le [TextView devenufirStSterSonder], TextView obtient le petit curseur de frappe, mais le clavier reste caché. Une idée pourquoi? Si cela aide, la vue principale est une vue modale qu'un Controller Uinavigation présente.

Edit: voici la méthode qui est appelée:

- (void)show_comment_elements {

    toolbar.hidden = YES;
    main_table.hidden = YES;
    add_comment_table.hidden = NO;
    comment_text.hidden = NO;

    [comment_text becomeFirstResponder];

}

Voici une capture d'écran:

frustration

Était-ce utile?

La solution

Je suppose que vous avez vérifié que votre méthode est invoquée après que la vue est placée à l'écran.

Des docs ....

Un objet de répondeur ne devient le premier intervenant que si le répondeur actuel peut démissionner du statut de premier répondeur (CanResignFirSterSponder) et que le nouveau répondeur peut devenir le premier répondeur.

Vous pouvez appeler cette méthode pour créer un objet de répondeur tel qu'une vue du premier répondeur. Cependant, vous ne devez l'appeler sur cette vue que si cela fait partie d'une hiérarchie de vue. Si la propriété de la fenêtre de la vue contient un objet UIWindow, il a été installé dans une hiérarchie de vue; S'il retourne nulle, la vue est détachée de toute hiérarchie.

Alors:

  1. Pouvez-vous confirmer que le répondeur actuel lorsque votre méthode est invoquée peut démissionner du statut de premier réponse?

  2. Votre vue semble être dans la hiérarchie de la vue si elle s'affiche à partir de la capture d'écran. Si l'écran provient de l'IB, testez que la propriété de la fenêtre de la vue n'est pas nulle.

  3. Assurez-vous que la vue est modifiable - if (comment_text.iseditable) ou elle n'acceptera pas l'état du premier répondeur.

  4. Essayez d'ajouter [comment_text setNeedsDisplay] pour forcer une refonte avec l'ensemble de la vue comme premier répondeur.

Si rien de tout cela ne fonctionne, postez un peu plus de code (comme d'où la méthode est appelée).

Autres conseils

Ce problème se produit également lorsque vous modifiez le nextResponder sur un objet dans la chaîne, de sorte que la chaîne de répondeurs ne va pas au UIWindow.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top