كيف يمكنني إظهار لوحة المفاتيح بشكل افتراضي في UITextView؟

StackOverflow https://stackoverflow.com/questions/259819

سؤال

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

هل هذا ممكن؟أرى أن الفصل لديه إشعار يسمى UITextViewTextDidBeginEditingNotification لكنني لست متأكدًا من كيفية إرسال ذلك، أو إذا كان هذا هو النهج الصحيح.

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

المحلول

ولتحقيق ذلك فقط إرسال رسالة becomeFirstResponder إلى UITextField الخاص، على النحو التالي (على افتراض لديك منفذ يسمى حيز النص، لافتا إلى الميدان في السؤال):

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [textField becomeFirstResponder];
}

نصائح أخرى

في سويفت

لإظهار لوحة المفاتيح تلقائيًا، قم بما يلي:

override func viewDidLoad() {
    super.viewDidLoad()

    // show keyboard
    textView.becomeFirstResponder()
}

ملحوظات

  • يفترض هذا أن عرض النص قابل للتحرير.
  • يعمل لكلا UITextView و UITextField
  • لإخفاء استخدام لوحة المفاتيح textView.resignFirstResponder()

وبعد غرامة عملت بالنسبة لي باستخدام سويفت

override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)

    // Show keyboard by default
    billField.becomeFirstResponder()
}

ومفتاح لاستخدام وظيفة viewDidAppear.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top