2010-07-28 15 views
5

संभव डुप्लिकेट:
How to add serach bar in navigation bar for iPhoneआईफोन के लिए नेविगेशन बार में खोज बार कैसे जोड़ें?

यह खोज पट्टी प्रदर्शित करने के लिए कोड है, लेकिन मैं नेविगेशन पट्टी

sBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0,10,320,30)]; 

sBar.delegate = self; 

[self.view addSubview:sBar]; 
//[self.navigationItem.rightBarButtonItem addSubview:sBar]; 
//self.navigationItem.rightBarButtonItem=sBar; 

में यह रखना चाहते हैं क्या कोई तरीका है?

+0

आपके पास पहले से ही एक और जोड़े प्रश्न हैं जो एक ही बात पूछते हैं। –

उत्तर

1

आप नेविगेशन बार के शीर्षक अनुभाग के लिए एक कस्टम दृश्य प्रदान कर सकते हैं। UINavigationController पर विशेष रूप से नेविगेशनबार अनुभाग को अपडेट करना देखें।

नेविगेशन नियंत्रक के रूप में इस प्रकार अद्यतन करता है नेविगेशन पट्टी के बीच:

नए उच्च स्तर का परिदृश्य नियंत्रक कस्टम शीर्षक देखने के लिए, नेविगेशन पट्टी प्रदर्शित करता है कि जगह में देखने है डिफ़ॉल्ट शीर्षक दृश्य का। पर एक कस्टम शीर्षक दृश्य निर्दिष्ट करें, शीर्षक नियंत्रक के नेविगेशन आइटम की दृश्य दृश्य देखें।

+0

मैंने यह स्वयं किया। NavigationItem.titleView = sBar; यह काम कर रहा है लेकिन मेरी खोज() काम नहीं कर रही है मैंने यह bsBar.delegate = self किया था; अब मैं कुछ और याद कर रहा हूं – ram

+0

आईपैड पर इसके परिणाम मूल तालिका दृश्य क्षेत्र की बजाय पॉपओवर में दिखाए जाते हैं। इसका कोई समाधान? – Norbert

24

खोज बार को नेविगेशन बार में शीर्षक दृश्य के रूप में जोड़ें। इस कोड उदाहरण में शीर्षक शीर्षक के रूप में इसे जोड़कर अतिरिक्त पैडिंग के लिए एक फिक्स भी शामिल है।

UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(-5.0, 0.0, 320.0, 44.0)]; 
searchBar.autoresizingMask = UIViewAutoresizingFlexibleWidth; 
UIView *searchBarView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 310.0, 44.0)]; 
searchBarView.autoresizingMask = 0; 
searchBar.delegate = self; 
[searchBarView addSubview:searchBar]; 
self.navigationItem.titleView = searchBarView; 
+0

मैंने वही काम किया लेकिन मैंने ईरलेटर बनाया और सीरचबार का आईबाउटलेट जो ठीक हो रहा था लेकिन वह स्क्रॉल कर रहा था ताकि आपके कोड का उपयोग करके मेरा सीरच फ़ंक्शन काम नहीं कर रहा हो ?? मुझे कैसे हल करना है, मुझे लगता है कि मुझे इबौलेट से डेलगेट छोड़ने की ज़रूरत है जो आप सुझाते हैं ?? यदि मैं इस खोज का उपयोग करता हूं तो मैं geetin waring हूँ bara.delegate = self; rootviewCnt अपमान नहीं करता UIUachbar प्रतिनिधि प्रोटोकॉल – ram

+0

मुझे समस्या है कि परिणाम मूल तालिका दृश्य के फ्रेम के बजाय, पॉपओवर में एम्बेडेड तालिका दृश्य में दिखाए जाते हैं। इसका कोई समाधान? – Norbert

+0

यह एक अच्छा जवाब की तरह लगता है। मैं यह कोड कहां रखूंगा? यदि मैं इसे 'addSearchBarToNavigationBar' नामक विधि में कॉपी और पेस्ट करता हूं। मैं विधि कहां कहूंगा? मैं एक tableViewController का उपयोग कर रहा हूँ – learner

5

आप नेविगेशन आइटम के शीर्षक दृश्य संपत्ति को कोई भी दृश्य असाइन कर सकते हैं। आप इसे इस तरह से कर सकते हैं।

self.navigationItem.titleView = searchBar ; 

यह बाहर काम करना चाहिए या तो UIView उदाहरण के लिए खोज पट्टी जोड़ने और फिर बताए self.navigationItem.titleView को यह दृश्य करना होगा नहीं।

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