auto correção Disable de UITextField
-
05-07-2019 - |
Pergunta
Quando tento editar textos em minha aplicação do iPhone (UITextfield
), é auto-corrige a minha entrada.
Você poderia me dizer como posso desabilitar isso?
Solução
UITextField* f = [[UITextField alloc] init];
f.autocorrectionType = UITextAutocorrectionTypeNo;
Outras dicas
versão Swift
aterrei aqui à procura de uma versão Swift deste:
myInput.autocorrectionType = .No
Leia também a resposta por @MaikelS
Swift 3.0
textField.autocorrectionType = .no
Você pode usar o protocolo UITextInputTraits
para conseguir isso:
myInput.autoCorrectionType = UITextAutocorrectionTypeNo;
Veja aqui para mais detalhes.
O Interface Builder também tem um campo suspenso para desativar isso. Como você está mais propenso a criar campos de texto no construtor de interface, olhar para ele lá. Você pode encontrá-lo na Atributos Inspector ao lado de 'correção'.
+ (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);
});
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow