بسم الله الرحمن الرحيم


سويفت ببساطة: اخفاء الكيبورد


تواجهنا مشكلة بسيطة عند استخدام TextFieldوهي ان بعد ما نستخدم الكيبورد في TextFieldما يمدينا نخفيه ويكون معلق في الشاشة.

في هذا الدرس راح اشرح كيف ممكن ان نخفي الكيبورد إذا ضغطنا اي مكان في الشاشة او خارج منطقة الكيبورد.


لحل هذه المشكلة عندنا حلين:


  1. نضع Done Button في الكيبورد.

  2. نستخدم الكود ()resignFirstResponder



في هذا الدرس راح نسخدم الخيار الثاني. بالنسبة لي هو اسهل و ابسط.

اول شي: شنو ()resignFirstResponder.


بإختصار هي تستدعي حالة Object الأوليه.

مثلاً حالة TextField الأوليه هي ان يكون متواجد بالشاشة من غير كيبورد.

فـ اذا نبي نخفي الكيبورد, نربط الـTextfield بالكود الـمذكور سابقًا.

نلاحفظ في الصوره الـمتحركه ان لـما نستدعي الكيبورد مانقدر نخفيه حتى لو نضغظ اي مكان في الشاشة.

الـحل جدًا بسيط.

١- نسحب TextField على ViewController

٢- نربط TextField في الكود تبع ViewController. و نسمية مثلًا

firstTextField

control + سحب عشان نسوي عملية الربط.


٣- نستدعي function touchesBegan

بسهوله، اكتب touchesBegan و الـ xcode راح يطلعلك الـ function الـمطلوبه.

بإختصار هذي الـ function تعطي خبر لـ أي object ان الـ View تم لـمسه.

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {


// الكود في الاسفل لربط

// resignFirstResponder في textField

firstTextField.resignFirstResponder()


}

اخيرًا نجرب نشغل البرنامج. و نتأكد ان الامور مضبوطه.

نلاحظ ان لـما نضغط اي مكان في الشاشة يختفي الكيبورد.😄

اتمنى الدرس كان سهل و واضح

تشرفني متابعتكم في مواقع التواصل الاجتماعي. و استقبال اقتراحاتكم و ملاحظاتكم.

Join