2010-06-09 11 views
7

इस्तीफा देने के बिना, हे, मैं संपर्क ऐप के समान आईफोन पर नेविगेशन-आधारित ऐप पर काम कर रहा था। जब आप खोज बार में कुछ इनपुट करते हैं, और तालिका (संपर्क ऐप में) में स्क्रॉल करते हैं, तो कीबोर्ड चला जाता है। मुझे नहीं लगता कि यह पहले उत्तरदाता को इस्तीफा दे रहा है, क्योंकि जब मैं कोशिश करता हूं और करता हूं - (शून्य) scrollViewDidScroll: (UIScrollView *) scrollView, यह रद्द करें बटन को अक्षम करता है, जो संपर्क ऐप में नहीं होता है। असल में मेरा सवाल यह है कि मैं रद्द करें बटन को अक्षम किए बिना कीबोर्ड को कैसे खारिज कर सकता हूं, जैसे संपर्क ऐप में?यूआईएसर्चबार के साथ कीबोर्ड को खारिज कर, पहले उत्तरदाता

धन्यवाद

+1

वाह। हाहा, मैंने जो ट्यूटोरियल इस्तेमाल किया था, वह किसी भी कारण से खोजडिस्प्ले कंट्रोलर का उपयोग नहीं करता था ... इसका उपयोग करके मैं वही कर सकता हूं जो मैं चाहता हूं। यह मजाकिया है, क्योंकि मैंने ओवरले के अंधेरे से भी मेल खाया जो तब होता है जब आप खोजना शुरू करते हैं, लेकिन अब यह दो बार होता है, इसलिए यह वास्तव में अंधेरा हो जाता है। – Mike

उत्तर

0

(स्वयं का जवाब टिप्पणी में संकेत के रूप में) आप में निर्मित संपर्क एप्लिकेशन की तरह तालिका खोज व्यवहार प्राप्त करना चाहते हैं, तो आप सिर्फ एक UITableView के साथ एक दृश्य में एक UISearchBar तमाचा नहीं कर सकते , इसके बजाय आपको Search Display Controller के साथ एक UITableViewController का उपयोग करने की आवश्यकता है।

https://developer.apple.com/library/ios/#samplecode/TableSearch/Introduction/Intro.html

3

ठीक है, बस यह बहुत पुराना सवाल में भाग: यह नमूना अनुप्रयोग एक आदर्श गाइड है। जब आप इस प्रकार स्क्रॉल करने के लिए शुरू आप 'रद्द करें' बटन को सक्षम कर सकते हैं:

func scrollViewWillBeginDragging(scrollView: UIScrollView) { 
    searchBar.resignFirstResponder() 
    let searchCancelButton = searchBar.valueForKey("cancelButton") as! UIButton 
    searchCancelButton.enabled = true // <-- THIS line is the trick 

} 

स्विफ्ट 4

func scrollViewWillBeginDragging(_ scrollView: UIScrollView) { 
    searchBar.resignFirstResponder() 
    let cancelButton = searchBar.value(forKey: "cancelButton") as! UIButton 
    cancelButton.isEnabled = true 
} 
+0

हां! यह सचमुच काम करता है! –

+0

उत्कृष्ट जवाब। स्विफ्ट 4 के लिए सिंटेक्स अपडेट किया गया –

संबंधित मुद्दे