سؤال

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

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

هل كانت مفيدة؟

المحلول

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

نصائح أخرى

نسخة سويفت

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

myInput.autocorrectionType = .No

إقرأ أيضاً الرد بواسطة @مايكل س

سويفت 3.0

textField.autocorrectionType = .no

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

myInput.autoCorrectionType = UITextAutocorrectionTypeNo;

وانظر <لأ href = "http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UITextInputTraits_Protocol/Reference/UITextInputTraits.html#//apple_ref/occ/intfp/UITextInputTraits/autocorrectionType" يختلط = "نوفولو noreferrer"> هنا لمزيد من التفاصيل.

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

ويمكنك أيضا تعيين هذا في لوحة العمل عن طريق اختيار "سمات مفتش" وتحت عنوان "تصحيح" يمكنك اختيار: 'افتراضي'، 'نعم' و 'لا'

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