2014-10-29 13 views
5

का उपयोग करके आप UISearchController का संदर्भ कैसे देते हैं मैंने खोज बार & खोज डिस्प्ले कंट्रोलर जोड़ा है (मान लीजिए कि स्टोरीबोर्ड में जो कुछ भी मैं नहीं हूं, उसके बाद 'सर्च कंट्रोलर' ऑब्जेक्ट खींचने के लिए)।स्टोरीबोर्ड

मेरा मुद्दा यह है कि मैं अब उस खोज नियंत्रक पर गुण कैसे सेट करूं? self.searchController काम नहीं करता है और एक्सकोड कहता है कि जब मैं UISearchBar को दृश्य में जोड़ता हूं तो यह स्वचालित रूप से जोड़ा जाता है। मैं क्या गलत कर रहा हूं? , https://github.com/dempseyatgithub/Sample-UISearchController

कौन सा यह स्टोरीबोर्ड का उपयोग करता है का कहना है कि वास्तव में के लिए स्टोरीबोर्ड का उपयोग नहीं करता:

UITableViewController *searchResultsController = [[UITableViewController alloc] initWithStyle:UITableViewStylePlain]; 
searchResultsController.tableView.dataSource = self; 
searchResultsController.tableView.delegate = self; 

self.searchController = [[UISearchController alloc] initWithSearchResultsController:searchResultsController]; 

self.searchController.searchResultsUpdater = self; 

मैं उदाहरण के यहाँ देखा: कारण मैं इसे का उपयोग की जरूरत है तो मैं, परिणाम खोज मेज सेट इतना की तरह कर सकते हैं UISearchController में जोड़ना, लेकिन फ्रेम आवंटित करने और प्रारंभ करने और सेट करके कोड का उपयोग करता है।

+0

धन्यवाद मालिक अगर आप इस सवाल का जवाब मैं खुशी से स्वीकार कर लेंगे, क्योंकि यह रखना चाहता हूँ:

लेकिन आप अभी भी नया एक कोड से जोड़ सकते हैं। – James

उत्तर

-5

जब आप खोज बार खींचते हैं और अपने टेबल व्यू पर डिस्प्ले कंट्रोलर ऑब्जेक्ट को खोजते हैं, तो खोज आईडीस्प्लेकंटर नामक एक आईबीओटलेट स्वचालित रूप से आपके नियंत्रक में जोड़ा जाता है, जिसे सर्च कंट्रोलर नहीं कहा जाता है। यह आपके लिए डेटा स्रोत और प्रतिनिधि भी सेट करता है।

+4

जैसा कि नीचे दिए गए उत्तर में बताया गया है, UISearchDisplayController को UISearchController के पक्ष में बहिष्कृत किया गया है, जो स्टोरीबोर्ड में सीधे उपलब्ध नहीं है। –

19

महत्वपूर्ण: UISearchDisplayController आईओएस 8. में पदावनत किया गया है (ध्यान दें कि UISearchDisplayDelegate भी मान्य नहीं है।) IOS 8 में एक खोज पट्टी और खोज परिणामों की प्रस्तुति का प्रबंधन करने के लिए और बाद में, बजाय UISearchController का उपयोग करें।

जैसा कि आधिकारिक डॉक्टर में बताया गया है, आईओएस 8.0+ को लक्षित करने वाले ऐप्स में पुरानी शैली UISearchDisplayController को जोड़ना बंद करना बेहतर होगा। लेकिन ऐसा लगता है कि उन्होंने Xcode6.1 में यूआई कंट्रोलर लाइब्रेरी से पुराने को हटाया नहीं है। उन्होंने न तो नया UISearchController जोड़ा है। आइए अगले पैच की प्रतीक्षा करें। ,

_searchController=[[UISearchController alloc] initWithSearchResultsController:self]; 
+3

अभी भी इंतज़ार कर रहा है .... हमें ऐप्पल में छोड़ने के लिए धन्यवाद! – staxim

+0

@staxim सुनवाई के लिए खेद है। कुछ महीने के लिए आईओएस या एक्सकोड स्पर्श नहीं किया है। मैं इस सप्ताह के अंत में कुछ जांच करूँगा। –

+4

और 9 महीने बाद .. UISearchController अभी भी स्टोरीबोर्ड दृश्य में नहीं है। :( –