आईपैड वर्चुअल कीबोर्ड (कम से कम) इन 3 से कोई एक परिस्थिति में गायब हो जाएगा:बाहरी कीबोर्ड कनेक्ट बनाम आईपैड कीबोर्ड छिपाने का पता लगाना?
- नियंत्रण (जैसे कि, एक UITextField) प्रोग्राम के रूप में पहले प्रत्युत्तर इस्तीफा है।
- यदि उपयोगकर्ता निचले दाएं भाग में "कीबोर्ड को खारिज करें" बटन टैप करता है।
- यदि उपयोगकर्ता यूएसबी/कीबोर्ड डॉक परिधीय से कनेक्ट होता है।
सभी मामलों में, मुझे UIKeyboardWillHideNotification
मिलता है।
समस्या यह है कि पहले दो मामले आम तौर पर समकक्ष होते हैं - दूसरे शब्दों में, उपयोगकर्ता को टेक्स्ट फ़ील्ड को संपादित किया जाता है। लेकिन तीसरे मामले में, टेक्स्ट फ़ील्ड अभी भी एक और इनपुट स्रोत से संपादित किया जा रहा है।
समस्या 2 और 3 के बीच अंतर का पता लगा रही है। मुझे दोनों मामलों में UIKeyboardWillHideNotification
है। 2 मामले में, मैं आम तौर पर संपादन नियंत्रण को लॉक करना चाहता हूं और मूल्य को प्रतिबद्ध करना चाहता हूं। 3 मामले में, मैं आम तौर पर कुछ भी नहीं करना चाहता और संपादन जारी रखने की अनुमति देता हूं।
लेकिन मैं अंतर कैसे बता सकता हूं?
ऐप्पल के पेज ऐप दस्तावेज़-शीर्षक नामकरण पर इसे अलग करने में सक्षम होने लगते हैं।
दुर्भाग्य से कोई। जब यह प्रकट होता है तो भौतिक कीबोर्ड UIKeyboardWillShowNotification उत्पन्न नहीं करता है। इसे संलग्न करने से केवल वर्चहाइड अधिसूचना उत्पन्न होती है जो वर्चुअल एक से मेल खाती है। –
मामले में 1, नियंत्रण फोकस खो देता है। 2 मामले में वही सच है? मुझे लगता है कि 3 मामले में नियंत्रण फोकस बरकरार रखता है। – drawnonward
मामलों 2 और 3 में, नियंत्रण पहले जारी रहता है। पहले उत्तरदाता का इस्तीफा कुंजीपटल को खारिज कर देगा, लेकिन विपरीत स्पष्ट रूप से सच नहीं है। –