मैं अपने ऐप के नेविगेशनबार में एक UISearchBar विकल्प बना रहा हूं। मेरे ऐप में कई दृश्य और सबव्यू शामिल हैं। मेरे पास यह मुख्यदृश्य है जिसमें स्वयं पर 3 अन्य विचार हैं। इसमें से एक खाली है (अभी के लिए) दूसरे 2 में टेबलव्यू हैं।uisearchbar पर ध्यान केंद्रित करते समय कीबोर्ड इस्तीफा
मैं चाहता हूं कि जब मैं वास्तविक खोज कर रहा हूं या जब मैं uisearchbar के बाहर स्पर्श/क्लिक करता हूं तो मैं अपना कीबोर्ड दिखाना चाहता हूं। मैं सर्चबार्डलेगेट का उपयोग कर आवश्यक है।
मैं निम्नलिखित तरीकों से [searchBar resignFirstResponder] का उपयोग करके कीबोर्ड को छुपाने में सक्षम हूं।
- जब मैं रिटर्न कुंजी दबा रहा हूं।
- जब मैं मैन्युअल रूप से खोज रद्द करता हूं
- जब मैं खोज या रद्द करने के लिए कीबोर्ड बटन दबाता हूं।
जब मैं स्क्रीन के एक खाली हिस्से
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch = [[event allTouches] anyObject]; if ([mySearchBar isFirstResponder] && [touch view] != mySearchBar) { [mySearchBar resignFirstResponder]; } [super touchesBegan:touches withEvent:event]; }
का उपयोग कर मैं क्या करने में सक्षम हो ऐसा नहीं लगता कि यह मेरे 2 tableviews से एक को स्पर्श करने के लिए जवाब कर रहा है स्पर्श करें। या जब मैं मुख्य रूप से कुछ अलग करने के लिए मुख्यदृश्य को भर रहा हूं।
Ive ने tableviews को स्पर्श करते समय खोज पट्टी को इस्तीफा देने के लिए touchesbegan विधि को बदलने का प्रयास किया लेकिन यह अब तक काम नहीं कर रहा है।
मैंने अपने प्रिय मित्र श्रीमान द्वारा कई अन्य चीजों की कोशिश की है। गूगल, लेकिन यह सब कुछ और मुझे लगता है तो मुझे लगता है।
किसी के पास इस समस्या को हल करने के लिए मैं क्या कर सकता हूं इसके बारे में कोई विचार है?
संपादित करें: ऐसा लगता है कि, ब्रेकपॉइंट्स का उपयोग करते समय, touchesbegan-method पृष्ठभूमिदृश्य का जवाब देता है लेकिन जब मैं तालिकादृश्य या नेविगेशनबार (uisearchbar युक्त) को स्पर्श करता हूं तो यह प्रतिक्रिया नहीं देता है।