ios - للايفون - برنامج تصحيح الاملاء في الايفون



تعطيل التصحيح التلقائي لـ UITextField (4)

عندما أحاول تحرير النصوص في تطبيق iPhone الخاص بي ( UITextfield ) ، فإنه يقوم تلقائيًا بتصحيح الإدخال الخاص بي.

هل يمكن أن تخبرني كيف يمكنني تعطيل هذا؟

https://src-bin.com


Answer #1

نسخة سويفت

هبطت هنا أبحث عن نسخة سويفت من هذا:

myInput.autocorrectionType = .No

اقرأ أيضا إجابة @MaikelS

سويفت 3.0

textField.autocorrectionType = .no

Answer #2

يحتوي منشئ واجهة أيضًا على حقل قائمة منسدلة لتعطيل هذا. كلما زاد احتمال إنشاء حقول نصية في أداة إنشاء الواجهة ، ابحث عنها هناك. يمكنك العثور عليه في "مفتش السمات" بجانب "تصحيح".


Answer #3

يمكنك استخدام بروتوكول UITextInputTraits لتحقيق ذلك:

myInput.autoCorrectionType = UITextAutocorrectionTypeNo;

انظر here لمزيد من التفاصيل.


Answer #4
+ (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);
  });
}




uitextfield