كيفية جعل لوحة المفاتيح تذهب بعيدا في محاكاة فون

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

  •  05-07-2019
  •  | 
  •  

سؤال

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

وربما ينبغي لي أن وضعت للتو "الذهاب" زر لذلك لدي شيء للحصول على التركيز بعيدا عن حيز النص؟

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

المحلول

واحد طريقة للقيام بذلك هي لتعيين كائن مثل مندوب لحقل النص وتنفيذ

- (BOOL)textFieldShouldReturn:(UITextField *)textField

والذي تسمونه [textField resignFirstResponder]

وهذا سوف يسبب لوحة المفاتيح لتختفي عندما دفع عودة / ذهاب / زر به (كل ما قمت بتعيين مفتاح لوحة المفاتيح الأيمن السفلي ليكون).

UITextFieldDelegate المرجعية لمزيد من المعلومات.

نصائح أخرى

لإخفاء لوحة المفاتيح يمكنك استخدام الحقل النصي مندوب.

لاستخدام هذا اتبع الخطوات التالية ...
1. فيك viewController على ح إضافة إعلان مندوب من هذا القبيل:     

@interface ViewController : UIViewController <UITextFieldDelegate> {
    }
2. في viewController الخاص بك على م اتصال هذا الأسلوب:     
- (BOOL)textFieldShouldReturn:(UITextField *)textField
3. ثم كتابة رمز مثل هذا:     
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [textField resignFirstResponder];
    return YES;
    }
4. الخطوة الأخيرة هي لتحديد مندوب حيز النص في:     
- (void)viewDidLoad {
        [super viewDidLoad];
        self.textField.delegate = self;
    }

ويسمى - (BOOL)textFieldShouldReturn:(UITextField *)textField في مندوب الخاص بك عندما يتم الضغط على زر العودة.

وترغب في استدعاء [textField resignFirstResponder] ومن ثم العودة YES. الذي عليه أن يقوم بالخدعة. وتأكد أيضا من تعيين مندوب. إذا كنت في شك، إضافة نقطة فاصل أو NSLog والتحقق منها.

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