मैं UISearchBar को स्वचालित रूप से एक नई खोज शुरू करने के लिए कैसे मजबूर कर सकता हूं (जैसे खोज बटन दबाकर)? क्या इसे हासिल करने का कोई आसान तरीका है?मैं UISearchBar में प्रोग्राम को प्रोग्रामेटिक रूप से कैसे बल दे सकता हूं?
उत्तर
हां आपको अपने UISearchbarDelegate
पर searchBarSearchButtonClicked:
पर केवल एक निहित कॉल करने की आवश्यकता है। इस प्रतिनिधि के बारे में अधिक जानकारी के लिए official doc पर एक नज़र डालें।
उत्तर के लिए धन्यवाद, हमें समस्या है कि खोजबार एक ऐसे दृश्य में एम्बेडेड है जहां हमारे पास पहुंच नहीं है और इसलिए यह दृष्टिकोण काम नहीं कर रहा है। क्या आपके पास कोई अन्य संकेत है? – nja
लेकिन कहीं भी आपके कोड में आपको खोज को संभालने के लिए एक प्रतिनिधि वर्ग होना चाहिए - है ना? – tiguero
हमारे पास कोड के उस हिस्से तक पहुंच नहीं है क्योंकि यह उस लाइब्रेरी में लागू किया गया है जिसका उपयोग हम करते हैं जहां हमारे पास स्रोत कोड तक पहुंच नहीं है। हम उस प्रतिनिधि को ढूंढने की कोशिश कर रहे हैं जिसका उपयोग वहां किया जाता है लेकिन हम अब तक सफल नहीं हैं। – nja
बस खोज इनपुट फ़ील्ड पहले प्रत्युत्तर हो गए हैं:
[self.searchInputField becomeFirstResponder];
मैंने पाया कि मैं खोज फ़ील्ड का मान बदलने के प्रोग्राम के UISearchViewController स्वचालित रूप से खोज प्रदर्शन करने के लिए इससे पहले कि सक्रिय करने के लिए UISearchViewController स्थापित करने के लिए की जरूरत:
// Need to set the searchDisplayController to active to
// make the changes in search text trigger a search.
self.searchDisplayController.active = YES;
self.searchDisplayController.searchBar.text = @"New search string";
यह खूबसूरती से काम करता है, और कई अन्य समस्याओं को ठीक करता है, जैसे कि कुछ प्रतिनिधि तरीकों को ट्रिगर नहीं किया जा रहा है। धन्यवाद। – inwit
ध्यान देने योग्य है, आदेश महत्वपूर्ण है :) –
गूंगा लगता है, लेकिन काम करता है, तो यह गूंगा नहीं है;)
NSString * forceReload = self.searchDisplayController.searchBar.text;
self.searchDisplayController.searchBar.text = forceReload;
आप अपने Searchbar मजबूर कर सकते हैं,
उद्देश्य सी:
[self searchBar:yourSearchBarName textDidChange: yourSearchingString];
स्विफ्ट 3.0:
self.searchBar(self.yourSearchBarName, textDidChange: yourSearchingString)
यह आपके Searchbar ट्रिगर किया जाएगा।
संभावित डुप्लिकेट [स्वचालित रूप से UISearchBar में टेक्स्ट कर्सर दिखाएं] (http://stackoverflow.com/questions/7441839/automatically-show-text-cursor-in-uisearchbar) – Pascal
कोई डुप्लिकेट नहीं है क्योंकि हम नहीं दिखाना चाहते हैं कीबोर्ड, हम खोज प्रक्रिया शुरू करना चाहते हैं जैसे कि जब आप खोज बटन पर क्लिक करते हैं तो यह किया जाता है। समस्या यह है कि तर्क पुस्तकालय में है जहां हमारे पास पहुंच नहीं है (कोई स्रोत कोड नहीं) – nja
ओह, मैं देखता हूं, यह समझ में आता है। आपको उस जानकारी को तब प्रश्न में रखना चाहिए। ;) – Pascal