IQKeyboardManager आपके लिए CODE के NO LINE के साथ ऐसा करता है , केवल संबंधित स्रोत फ़ाइल को प्रोजेक्ट के लिए ड्रैग और ड्रॉप करने की आवश्यकता है। IQKeyboardManager भी समर्थन उपकरण अभिविन्यास , स्वत: UIToolbar प्रबंधन , keyboardDistanceFromTextField से अधिक आपको लगता है और भी बहुत कुछ।
यहाँ नियंत्रण प्रवाह चार्ट है:
चरण 1: - के वैश्विक सूचनाएं गया UITextField
, UITextView
और UIKeyboard
एक सिंगलटन वर्ग में। मैंने इसे IQKeyboardManager कहा ।
Step2: - यदि पाया जाता है UIKeyboardWillShowNotification
, UITextFieldTextDidBeginEditingNotification
या UITextViewTextDidBeginEditingNotification
सूचनाएं मिलती हैं, तो पदानुक्रम topMostViewController
से उदाहरण प्राप्त करने का प्रयास करें UIWindow.rootViewController
। इसे ठीक से उजागर UITextField
/ करने के लिए UITextView
, topMostViewController.view
फ्रेम को समायोजित करने की आवश्यकता है।
Step3: -topMostViewController.view
पहले उत्तर में UITextField
/ के संबंध में अनुमत प्रत्याशित चाल दूरी UITextView
।
Step4: -topMostViewController.view.frame
अपेक्षित चाल दूरी के अनुसार ऊपर / नीचे चले ।
Step5: - यदि पाया गया है UIKeyboardWillHideNotification
, UITextFieldTextDidEndEditingNotification
या UITextViewTextDidEndEditingNotification
अधिसूचना है, तो फिर topMostViewController
से UIWindow.rootViewController
पदानुक्रम से उदाहरण प्राप्त करने का प्रयास करें ।
Step6: -topMostViewController.view
जिसकी मूल दूरी परेशान है उसे उसकी मूल स्थिति में पुनर्स्थापित करने की आवश्यकता है।
Step7: -topMostViewController.view.frame
अशांत दूरी के हिसाब से पुनर्स्थापित किया गया।
Step8 : - ऐप लोड पर इंस्टेंटिएटेड सिंगलटन IQKeyboardManager वर्ग उदाहरण है, इसलिए ऐप में प्रत्येक UITextField
/ UITextView
अपेक्षित चाल दूरी के अनुसार स्वचालित रूप से समायोजित हो जाएगा।
बस इतना ही