9
votes

Programmation iPhone: Désactiver la vérification orthographique dans UITEXTVIEW

UitextautocorrstTypeno n'a pas fonctionné pour moi.

Je travaille sur une application croisée pour l'iPhone. Les questions sont dans UitextViews et j'utilise Uitextfields pour la saisie de l'utilisateur de chaque lettre. En touchant une question (UITEXTVIEW), le Textfield pour la première réponse Char deviendreStreresponder.

Tout fonctionne bien, mais les visionneuses UITEXT sont toujours en cours de vérification et marquent les mauvais mots de la question, Même si je les ai définis uitéxtautocorrstypeno. xxx

Je n'appelle pas uitextview sur un autre endroit.


0 commentaires

4 Réponses :


0
votes

a eu une solution mais ce n'est pas vraiment comment ça devrait être. Si quelqu'un sait quelque chose de mieux, dites-moi s'il vous plaît.

L'autocorrection exécute, après la première touche. Donc, j'accepte une nouvelle UitextView et le configurez-le comme le TextView touché. Ensuite, je remplace le TextView touché avec mon nouveau TextView. Donc, chaque instance UitextView ne pourrait être touchée qu'une fois et disparaît. :) xxx


0 commentaires

22
votes

J'ai eu le même problème. La solution est très simple mais non documentée: vous ne pouvez modifier que les propriétés définies dans le protocole code> uitextinputaits code> tandis que le uitextview code> en question n'est pas le premier répondeur. Les lignes suivantes résument pour moi:

[self.textView resignFirstResponder];
self.textView.autocorrectionType = UITextAutocorrectionTypeNo;
[self.textView becomeFirstResponder];


1 commentaires

Remarque, si vous désactivez également la vérification orthographique (sous-ligne rouge), vous devrez forcer une up up update pour vous débarrasser de la ligne rouge Squiggly. Voyez ici: Stackoverflow.com/a/51958597/2057171



8
votes

Un astuce potentiellement utile après Réponse d'Engin Kurutepe de la réponse:

Si vous avez sousclassement uitextview , vous pouvez remplacer le uitextinputaits dans la sous-classe de la mise en œuvre de devencefirSresponder , quelque chose comme ceci: xxx

Il n'y a pas de besoin d'explicitement démissionner / devicefirstreponder autour de vos modifications de trait.


0 commentaires

2
votes

Important

La vérification orthographique désactivée sera non forte> mettre à jour l'interface utilisateur de la ligne rouge jusqu'à ce que le texte lui-même soit également mis à jour. Il suffit de définir la vérification orthographique sur Non ne suffit pas. P>

Pour forcer une mise à jour d'interface utilisateur, définissez la propriété SpellCheck sur Non, puis basculez le texte en blanc, puis: P>

_textView.spellCheckingType = UITextSpellCheckingTypeNo;

NSString *currentText = _textView.text;
NSAttributedString *currentAttributedText = _textView.attributedText;
_textView.text = @"";
_textView.attributedText = [NSAttributedString new];
_textView.text = currentText;
if (currentAttributedText.length > 0) {
    _textView.attributedText = currentAttributedText;
}


0 commentaires