J'ai un bouton qui insère un caractère dans un UITEXTVIEW. Je veux que ce bouton se comporte comme le bouton de la barre d'espace; Je veux que la suggestion d'autocorrie en attente soit acceptée à ce que vous appuyiez dessus. P>
Cela peut-il être fait? Si c'est le cas, comment? Merci! P>
3 Réponses :
Il n'y a pas d'API pour interagir directement avec AutoCorrect. Cependant, il y a un peu de hack que j'ai couru, il n'y a pas si longtemps: Si vous démissionnez le répondeur, l'autocorrect actuellement affiché sera accepté. Donc, vous pourrez peut-être vous éloigner de démissionner du premier répondant, puis de l'attribuer à nouveau:
[myTextView resignFirstResponder]; [myTextView becomeFirstResponder];
Est-ce que l'interface utilisateur est-elle mordu quand vous faites cela?
Non, je n'ai eu aucun problème avec ça.
Génial, je peux l'utiliser à l'avenir.
FYI: Cela déclenche la technologie TextViewDidententing: et TextViewHouldbegineting: des appels de délégation et des notifications du clavier.
Je viens de découvrir que, au lieu de le faire (tue mes animations), vous pouvez utiliser:
[messageField reloadInputViews];
@mahboudz Je crois que le cas de la question est que ... pourquoi bowevote ??
L'affiche originale ne dit rien sur INPUTVIEW code> ni
InputAccessoryView code>. Assumez-vous que le "bouton" de l'affiche est l'un d'entre eux? Ce n'est pas nécessaire, et cela rend votre solution définitive incomplète. Vous voudrez peut-être refléter cela dans votre réponse.
Aucune des deux solutions proposées ne fonctionne sur iOS 14 sans aucun effet secondaire comme des animations étranges sur des appareils plus anciens.
appeler SelectionWillChange et SelectionDidChange fonctionne cependant: p>
[textView.inputDelegate selectionWillChange: textView]; [textView.inputDelegate selectionDidChange: textView];