valuechanged uitextfieldtextdidchangenotification change ios objective-c uitextfield

ios - uitextfieldtextdidchangenotification - uitextfield valuechanged swift



Deshabilitar la corrección automática de UITextField (6)

Versión Swift

Aterricé aquí buscando una versión Swift de esto:

myInput.autocorrectionType = .No

Lea también la respuesta de @MaikelS

Swift 3.0

textField.autocorrectionType = .no

Cuando trato de editar textos en mi aplicación de iPhone ( UITextfield ), corrige automáticamente mi entrada.

¿Podrías decirme cómo puedo desactivar esto?


El Interface Builder también tiene un campo desplegable para desactivar esto. Como es más probable que cree campos de texto en el constructor de interfaces, búsquelo allí. Puede encontrarlo en el Inspector de Atributos al lado de ''Corrección''.


Puede usar el protocolo UITextInputTraits para lograr esto:

myInput.autoCorrectionType = UITextAutocorrectionTypeNo;

Mira here para más detalles.


También puede configurar esto en el guión gráfico eligiendo el ''inspector de atributos'' y en ''corrección'' puede elegir: ''Predeterminado'', ''sí'' y ''no''


+ (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); }); }


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