मेरे पास एक टेक्स्ट फ़ील्ड के साथ UIAlertView है। यह दृश्य सही ढंग से काम करता है; यह स्क्रीन के ऊपरी आधे हिस्से में दिखाई देता है, इसलिए जब कीबोर्ड आता है, तो दोनों बटन और टेक्स्ट एंट्री अभी भी दृश्यमान और टैप करने योग्य होते हैं।
हालाँकि, यदि किसी अन्य एप्लिकेशन से कोई स्थानीय या दूरस्थ सूचना आती है, जबकि टेक्स्ट फ़ील्ड पहला उत्तरदाता है और कीबोर्ड चालू है, तो यह मेरे अलर्ट को छुपाता है और नए अलर्ट को कीबोर्ड के पीछे रखता है। यदि अलर्ट एक से अधिक लाइन लंबा है, तो इसके बटनों को क्लिक नहीं किया जा सकता है और उपयोगकर्ता इसे खारिज नहीं कर सकता है। यह किसी भी सामान्य तंत्र के माध्यम से मेरे सतर्क दृश्य को खारिज नहीं कर रहा है - न तो alertView:clickedButtonAtIndex:
या alertView:cancel:
को मेरे प्रतिनिधि को बुलाया जाता है - बल्कि कुछ अज्ञात तंत्र का उपयोग करके इसे अस्थायी रूप से छुपाता है।
जब कोई अधिसूचना मेरे अलर्ट दृश्य को छुपाती है तो क्या मुझे अधिसूचित किया जा सकता है, ताकि मैं कीबोर्ड को खारिज कर सकूं और उपयोगकर्ता को अधिसूचना से निपटने दे सकूं? क्या इस मामले को पकड़ने के लिए मैं कोई अन्य घटनाएँ कर सकता हूँ?
2 जवाब
आवेदन के लिए पंजीकरण करें UIApplicationWillResignActiveNotification
; जब आपको वह मिल जाए, तो अपने अलर्ट व्यू को खारिज कर दें। डॉक्स से:
एक सक्रिय एप्लिकेशन को फोकस कहा जा सकता है। लॉन्च होने के बाद यह फोकस प्राप्त करता है, ओवरले विंडो पॉप अप होने पर या डिवाइस लॉक होने पर फोकस खो देता है, और डिवाइस अनलॉक होने पर फोकस प्राप्त करता है।
अलर्ट दृश्य, जैसे कि अन्य ऐप्स के नोटिफिकेशन द्वारा प्रस्तुत किए गए, ओवरले विंडो हैं। उस अधिसूचना के लिए देखें, अपना अलर्ट बंद करें ताकि कीबोर्ड रास्ते में न आए, और अगर आपके ऐप को UIApplicationDidBecomeActiveNotification
मिलता है तो अलर्ट को फिर से प्रदर्शित करने के लिए तैयार रहें।
मुझे उम्मीद है कि इससे सहायता मिलेगी...
- (void)willPresentAlertView:(UIAlertView *)alertView {
if (newAlertViewWhichBlocks.tag == alertView.tag) {
[yourTextField resignFirstResponder];
}
}
अलर्ट व्यू के प्रतिनिधि को सेट करना याद रखें।
संबंधित सवाल
नए सवाल
iphone
जब तक आप Apple के iPhone और / या iPod टच को विशेष रूप से संबोधित नहीं कर रहे हैं, तब तक इस टैग का उपयोग न करें। हार्डवेयर पर निर्भर न होने वाले प्रश्नों के लिए, [ios] टैग का उपयोग करें। विचार करने के लिए और टैग [xcode] हैं (लेकिन केवल यदि सवाल IDE के बारे में है), [स्विफ्ट], [उद्देश्य-सी] या [कोको-टच] (लेकिन [कोको] नहीं)। कृपया आइट्यून्स ऐप स्टोर के बारे में या आईट्यून्स कनेक्ट के बारे में सवालों से बचना चाहिए। यदि C # का उपयोग कर रहे हैं, तो [मोनो] के साथ टैग करें।