質問

iPhoneアプリケーション( UITextfield )でテキストを編集しようとすると、入力が自動修正されます。

これを無効にする方法を教えてください

役に立ちましたか?

解決

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

他のヒント

Swiftバージョン

私はここに着陸し、これのSwiftバージョンを探しました:

myInput.autocorrectionType = .No

@MaikelS

による回答も読んでください

Swift 3.0

textField.autocorrectionType = .no

これを実現するには、 UITextInputTraits プロトコルを使用できます。

myInput.autoCorrectionType = UITextAutocorrectionTypeNo;

こちらで詳細をご覧ください。

Interface Builderには、これを無効にするドロップダウンフィールドもあります。インターフェイスビルダーでテキストフィールドを作成する可能性が高いので、そこを探してください。 「Correction」の横にある属性インスペクターで見つけることができます。

「属性インスペクター」を選択してストーリーボードでこれを設定することもできます。「修正」で「デフォルト」、「はい」、「いいえ」を選択できます ここに画像の説明を入力してください ここに画像の説明を入力してください

+ (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