UITextFieldの自動修正を無効にする
-
05-07-2019 - |
質問
iPhoneアプリケーション( UITextfield
)でテキストを編集しようとすると、入力が自動修正されます。
これを無効にする方法を教えてください
解決
UITextField* f = [[UITextField alloc] init];
f.autocorrectionType = UITextAutocorrectionTypeNo;
他のヒント
Swiftバージョン
私はここに着陸し、これのSwiftバージョンを探しました:
myInput.autocorrectionType = .No
による回答も読んでください
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);
});
}
所属していません StackOverflow