uitextfield의 자동 수정을 비활성화합니다
-
05-07-2019 - |
문제
iPhone 응용 프로그램에서 텍스트를 편집하려고 할 때 (UITextfield
), 그것은 내 입력을 자동으로 고정시킵니다.
어떻게 비활성화 할 수 있습니까?
해결책
UITextField* f = [[UITextField alloc] init];
f.autocorrectionType = UITextAutocorrectionTypeNo;
다른 팁
스위프트 버전
나는 이것의 신속한 버전을 찾고 여기에 상륙했다.
myInput.autocorrectionType = .No
또한 답을 읽으십시오 @Maikels
스위프트 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);
});
}
제휴하지 않습니다 StackOverflow