Отключить автоматическую коррекцию UITextField
когда я пытаюсь редактировать тексты в моем приложении iPhone (UITextfield
), он автоматически исправляет мой вклад.
не могли бы вы дайте мне знать, как я могу отключить это?
6 ответов:
Swift версия
Я приземлился здесь в поисках быстрой версии этого:
myInput.autocorrectionType = .No
также прочитайте ответ от @MaikelS
Swift 3.0
textField.autocorrectionType = .no
можно использовать
UITextInputTraits
протокол для достижения этого:myInput.autoCorrectionType = UITextAutocorrectionTypeNo;
посмотреть здесь для более подробной информации.
в Построителе интерфейса также есть выпадающее поле, чтобы отключить это. Поскольку вы с большей вероятностью создадите текстовые поля в построителе интерфейса, ищите его там. Вы можете найти его в Инспекторе атрибутов рядом с "коррекцией".
+ (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); }); }