كيف يمكنني إظهار لوحة المفاتيح بشكل افتراضي في UITextView؟
-
06-07-2019 - |
سؤال
أريد إنشاء طريقة عرض تتكون فقط من ملف 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.
لا تنتمي إلى StackOverflow