Question

Lorsque j'essaie de modifier des textes dans mon application iPhone ( UITextfield ), cela corrige automatiquement ma saisie.

Pourriez-vous me dire comment puis-je désactiver ceci?

Était-ce utile?

La solution

UITextField* f = [[UITextField alloc] init];
f.autocorrectionType = UITextAutocorrectionTypeNo;        

Autres conseils

Version Swift

J'ai atterri ici à la recherche d'une version Swift de ceci:

myInput.autocorrectionType = .No

Lisez également la réponse en @MaikelS

Swift 3.0

textField.autocorrectionType = .no

Vous pouvez utiliser le protocole UITextInputTraits pour atteindre cet objectif:

myInput.autoCorrectionType = UITextAutocorrectionTypeNo;

Voir ici pour plus de détails.

Interface Builder dispose également d'un champ déroulant pour le désactiver. Comme vous êtes plus susceptible de créer des champs de texte dans le générateur d’interface, recherchez-le-là. Vous pouvez le trouver dans l'inspecteur d'attributs à côté de "Correction".

vous pouvez également définir cela dans le storyboard en choisissant "Inspecteur d'attributs" et sous "Correction", vous pouvez choisir: "Par défaut", "Oui" et "Non". entrer la description de l'image ici entrer la description de l'image ici

+ (void)disableAutoCorrectionsForTextfieldsAndTextViewGlobally {
  static dispatch_once_t onceToken;
  dispatch_once(&onceToken, ^{
    struct objc_method_description autocorrectionTypeMethodDescription =
        protocol_getMethodDescription(@protocol(UITextInputTraits),
                                      @selector(autocorrectionType), NO, YES);
    IMP noAutocorrectionTypeIMP_TEXT_FIELD =
        imp_implementationWithBlock(^(UITextField *_self) {
          return UITextAutocorrectionTypeNo;
        });
    IMP noAutocorrectionTypeIMP_TEXT_VIEW =
        imp_implementationWithBlock(^(UITextView *_self) {
          return UITextAutocorrectionTypeNo;
        });
    class_replaceMethod([UITextField class], @selector(autocorrectionType),
                        noAutocorrectionTypeIMP_TEXT_FIELD,
                        autocorrectionTypeMethodDescription.types);
    class_replaceMethod([UITextView class], @selector(autocorrectionType),
                        noAutocorrectionTypeIMP_TEXT_VIEW,
                        autocorrectionTypeMethodDescription.types);
  });
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top