2012-09-11 31 views
5

चलाता है मेरे पास एक नेविगेशन बार है जो स्क्रॉल करते समय विंडो के शीर्ष पर तय होता है। हालांकि, जब मैं एक इनपुट पर क्लिक करता हूं और कीबोर्ड निश्चित स्थिति एनएवी चाल को पॉप करता है और गलत स्थिति में फंस जाता है। इसे ठीक करने का कोई उपाय?आईओएस पर कीबोर्ड मेरी फिक्स्ड पोजिशन हेडर एनवी

इसके अलावा, मैं इसके बाहर क्लिक करके कीबोर्ड बंद नहीं कर सकता।

+0

क्या यह एक नेविगेशन बार इंटरफेस बिल्डर या कस्टम व्यू में सेट है? यदि डिफ़ॉल्ट डिफॉल्ट नेविगेशन बार – jere

+0

है तो आपके पास कोई रास्ता नहीं है, यदि आपके पास कीबोर्ड दिखाई देने पर चलने वाला कोड होना चाहिए। अगर आप हमें मदद करना चाहते हैं तो कृपया इसे पोस्ट करें। साथ ही, कुंजीपटल छुपाए जाने पर चलाए जाने वाले किसी भी कोड को पोस्ट करें। और आखिरकार, जब आप इसके बाहर टैप करते हैं तो कुंजीपटल बंद नहीं होना चाहिए। – lnafziger

+0

http://stackoverflow.com/questions/7970389/ios-5-fixed-positioning-and-virtual-keyboard और http://stackoverflow.com/questions/12550298/mobile-safari -ios-6-0-fixed-positioning-while-keyboard-showing सहायक हो सकता है – sjobe

उत्तर

0

मुझे यकीन नहीं है कि आपकी एनवी बार क्यों चलेगी। यदि आप उपनिवेश या UINavigationControlller का उपयोग कर रहे हैं तो एनएवी बार स्वयं डिफ़ॉल्ट रूप से प्रदान किया जाएगा लेकिन आप इसे हमेशा छुपा सकते हैं। यदि आप नहीं हैं और केवल एक UINavgivationBar चाहते हैं और फ्रेम नियंत्रक के ढेर के रूप में आप नियंत्रक के साथ प्राप्त करने के लिए फ्रेम नियंत्रक के ढेर नहीं चाहते हैं। मैं यह सुनिश्चित करने के लिए एक बार एनएवी नियंत्रक का उपयोग करने का सुझाव देता हूं कि आपकी बार कभी नहीं चली जाएगी।

कीबोर्ड पर पता लगाने के लिए जब आप क्लिक करते हैं तो छुपाएं। ऐसा करने के लिए कोई "स्वचालित" तरीका नहीं है, आपको कीबोर्ड को प्रकट करने के लिए क्लिक किए गए टेक्स्टफील्ड के सहेजे गए संदर्भ पर विधि इस्तीफा FirstResponder को स्पष्ट रूप से कॉल करना होगा। ऐसा करने का सबसे अच्छा तरीका एक एनएसएमयूटेबलएरे प्रॉपर्टी बनाना है और यूआईटीएक्स्टफील्ड डिलीगेट को अपने व्यू कंट्रोलर में लागू करें। एच और विधि डालें - (शून्य) टेक्स्टफिडडिडबिजिन एडिटिंग: (यूआईटीएक्स्टफील्ड *) टेक्स्टफील्ड मैं आपका एमएम हूं और टेक्स्टफाईड को म्यूटेबल सरणी में जोड़ता हूं वहां के अंदर वहां से आपको यह तय करने की ज़रूरत है कि उपयोगकर्ता कीबोर्ड को कैसे खारिज कर देगा आईई ने पृष्ठभूमि पर क्लिक किया। तो सबसे आसान तरीका है कि एक विशाल UIButton को पृष्ठभूमि में कोई टेक्स्ट न जोड़ें जो उस विधि को कॉल करता है जो उस mutablearray के माध्यम से लूप करता है और इस्तीफा कहता है सब कुछ पर फर्स्ट रेस्पॉन्डर और पूर्ण होने पर सरणी को साफ़ करता है।

या आप टेक्स्टफिल्ड के कीबोर्ड प्रकार को हमेशा एक बटन के रूप में बदल सकते हैं।

पसंद तुम्हारा है!