iOS 7.1 UITextView toujours pas de défilement du curseur/caret après la nouvelle ligne

Depuis iOS 7, une UITextView ne défile pas automatiquement le curseur en tant que l'utilisateur tape un texte qui coule à une nouvelle ligne. Ce problème est bien documenté et DONC et d'ailleurs. Pour moi, le problème est toujours présent dans iOS 7.1. Ce que je fais mal?

iOS 7.1 UITextView toujours pas de défilement du curseur/caret après la nouvelle ligne

J'ai installé Xcode 5.1 et ciblée iOS 7.1. Je suis avec Mise en page Automatique.

Voici comment j'ai positionner le texte à l'affichage du contenu au-dessus du clavier:

- (void)keyboardUp:(NSNotification *)notification
{
    NSDictionary *info = [notification userInfo];
    CGRect keyboardRect = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
    keyboardRect = [self.view convertRect:keyboardRect fromView:nil];

    UIEdgeInsets contentInset = self.textView.contentInset;
    contentInset.bottom = keyboardRect.size.height;
    self.textView.contentInset = contentInset;
}

Ce que j'ai essayé: j'ai essayé beaucoup de solutions posté DONC, sur cette question comme il se rapporte à iOS 7. Toutes les solutions que j'ai essayé de faire pas semble bien tenir le coup pour le texte de l'affichage d'une attribuées chaîne. Dans les trois étapes suivantes, j'ai décrire la façon dont le plus voté réponse sur SO (https://stackoverflow.com/a/19277383/1239263) répond à l'utilisateur en appuyant sur la touche retour pour la première fois.

(1.) L'affichage de texte est devenu le premier intervenant dans viewDidLoad. Faites défiler vers le bas de l'affichage de texte à l'emplacement du curseur.

iOS 7.1 UITextView toujours pas de défilement du curseur/caret après la nouvelle ligne

(2.) Avant de saisir un caractère, appuyez sur la touche retour du clavier. L'accent circonflexe disparaît de la vue.

iOS 7.1 UITextView toujours pas de défilement du curseur/caret après la nouvelle ligne

(3.) Appuyant sur la touche de retour encore une fois, cependant, semble pour normaliser la situation. (Remarque: la suppression de la dernière ligne, cependant, fait le signe de disparaître une fois de plus).

iOS 7.1 UITextView toujours pas de défilement du curseur/caret après la nouvelle ligne

  • Il convient également de noter que ce parchemin problème est toujours présent dans la Pomme de l'application de Calendrier après la mise à jour iOS 7.1. Créer un nouvel événement, faites défiler jusqu'à la section "Notes", frapper la touche retour jusqu'à ce que le curseur disparaît.
  • Vous ne faites rien de mal. C'est un bug.
  • Mais il y avait tellement de nombreux rapports de bogues soumis à Apple au sujet de cette question. Peut-être n'étiez pas censé définir la contentInset d'un texte en vue soutenu par le Texte du Kit. Le soi-disant bug disparaît la plupart du temps si je éviter de régler le contentInset.
  • Quel est votre point? Cela a bien fonctionné pendant des années et maintenant il ne le fait pas. C'est un bug et Apple n'a pas fixé. J'ai eu beaucoup plus de personnes si vous le souhaitez.
  • relax mec, c'est pas comme si j'écrivais une mauvaise critique de votre livre. Je dis seulement qu'Apple ne peut pas voir ce problème comme un bug; peut-être que je ne suis pas à l'aide d'un Kit de Texte soutenu UITextView correctement.
  • Plutôt que d'adapter contentInset de la UITextView, définir la frame de UITextView & vous problème aura disparu.. Quand claviers montre jusqu'alors de réduire l'image & quand le clavier se cache ensuite ajuster la monture.
  • J'avais répondu à ma propre question avec une solution similaire (supprimé depuis). Mais elles ne résistent pas à l'épreuve de cas décrites dans les 3 étapes dans mon post (c'est à dire, en appuyant sur la touche retour).
  • Découvrez peter steinburgers post, c'est exactement le problème qu'il résout avec une grande explication - petersteinberger.com/blog/2014/fixing-uitextview-on-ios-7
  • Le problème est résolu sur iOS 8.

InformationsquelleAutor bilobatum | 2014-03-11