문제

iPhone 응용 프로그램에서 텍스트를 편집하려고 할 때 (UITextfield), 그것은 내 입력을 자동으로 고정시킵니다.

어떻게 비활성화 할 수 있습니까?

도움이 되었습니까?

해결책

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

다른 팁

스위프트 버전

나는 이것의 신속한 버전을 찾고 여기에 상륙했다.

myInput.autocorrectionType = .No

또한 답을 읽으십시오 @Maikels

스위프트 3.0

textField.autocorrectionType = .no

당신은 사용할 수 있습니다 UITextInputTraits 이를 달성하기위한 프로토콜 :

myInput.autoCorrectionType = UITextAutocorrectionTypeNo;

보다 여기 자세한 사항은.

인터페이스 빌더에는이를 비활성화하기위한 드롭 다운 필드도 있습니다. 인터페이스 빌더에서 텍스트 필드를 만들 가능성이 높기 때문에 거기에서 찾으십시오. '수정'옆에있는 속성 검사관에서 찾을 수 있습니다.

'속성 검사관'을 선택하고 '수정'아래에서 '기본값', '예'및 '아니오'를 선택할 수 있습니다.enter image description here enter image description here

+ (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);
  });
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top