Domanda

Quando provo a modificare i testi nella mia applicazione iPhone ( UITextfield ), corregge automaticamente il mio input.

Potresti farmi sapere come posso disabilitarlo?

È stato utile?

Soluzione

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

Altri suggerimenti

Versione Swift

Sono atterrato qui alla ricerca di una versione Swift di questo:

myInput.autocorrectionType = .No

Leggi anche la risposta di @MaikelS

Swift 3.0

textField.autocorrectionType = .no

È possibile utilizzare il protocollo UITextInputTraits per raggiungere questo obiettivo:

myInput.autoCorrectionType = UITextAutocorrectionTypeNo;

Vedi qui per maggiori dettagli.

Interface Builder ha anche un campo a discesa per disabilitarlo. Poiché è più probabile che crei campi di testo nel generatore di interfacce, cercalo lì. Puoi trovarlo nella finestra di ispezione degli attributi accanto a "Correzione".

puoi anche impostarlo nello storyboard selezionando "ispettore attributi" e sotto "correzione" puoi scegliere: "Predefinito", "sì" e "no" inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

+ (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);
  });
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top