7

मैं एक UINavigationbar के लिए कई UIBarButtonItem की जोड़ना चाहते हैं, न सिर्फ दाएं और बाएं बटन:मैं UINavigationBar में एकाधिक UIBarButtonItem को कैसे जोड़ सकता हूं?

logoButton = [[UIBarButtonItem alloc] initWithTitle:@"A Button" style:UIBarButtonItemStyleBordered target:self action:@selector(logoButtonAClicked:)]; 

logoButton2 = [[UIBarButtonItem alloc] initWithTitle:@"B Button" style:UIBarButtonItemStyleBordered target:self action:@selector(logoButtonBClicked:)]; 

logoButto3 = [[UIBarButtonItem alloc] initWithTitle:@"C Button" style:UIBarButtonItemStyleBordered target:self action:@selector(logoButtonCClicked:)]; 

self.navigationController.navigationBarHidden = NO; 

self.title = @"Title"; 

NSArray* items = [[NSArray alloc] initWithObjects:logoButtonA, logoButtonB, logoButtonC, nil]; 
self.navigationController.navigationBar.items = items; 

एक SIGBRT पर self.navigationController.navigationBar.items = items;

कैसे मैं एक UINavigationBar करने के लिए कई UIBarButtonItem रों जोड़ सकते हैं मैं मिल सकता है?

+0

[यूआईवीविगेशनबार में एकाधिक UIBarButtonItems] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/5100840/multiple-uibarbuttonitems-in-uinavigationbar) –

उत्तर

16

आप एक UINavigationItem को UIBarButtonItem उदाहरण जोड़ने के लिए, एक UINavigationBar के लिए नहीं की जरूरत है। तो आप के रूप में यह कर सकते हैं:

NSArray *buttonArray = [NSArray arrayWithObjects:logoButton, logoButton2, logoButton3, nil]; 
self.navigationItem.leftBarButtonItems = buttonArray; 

आप सही पर अपने बटन चाहते हैं, rightBarButtonItems का उपयोग करें।

+0

क्या बैक बटन गायब किए बिना बाएं बार बटन जोड़ने का कोई तरीका है? – NHDaly

4

आप का उपयोग करना चाहिए

self.navigationItem.leftBarButtonItems = items; 
-1

नेविगेशनबार में addSubView का उपयोग करें।

+0

कोई अच्छा विचार नहीं है ... वे बटन मानक 'UIBarButtonItem' उदाहरणों की तरह दिखते या व्यवहार नहीं करते हैं और इसके अतिरिक्त,' UIBarButtonItem' 'UIView' का उप-वर्ग नहीं है, इसलिए आप [navwinBar addSubview: logoButton को कॉल नहीं कर सकते ] '। –

+0

-1: 'UINavigationBar' दस्तावेज़ों से: 'जब आप एक स्टैंडअलोन ऑब्जेक्ट के रूप में नेविगेशन बार का उपयोग करते हैं, तो आप इसकी सामग्री प्रदान करने के लिए ज़िम्मेदार होते हैं। अन्य प्रकार के विचारों के विपरीत, आप सीधे नेविगेशन बार में सबव्यूव नहीं जोड़ते हैं। इसके बजाए, आप निर्दिष्ट बटन या कस्टम दृश्य निर्दिष्ट करने के लिए एक नेविगेशन आइटम (UINavigationItem क्लास का एक उदाहरण) का उपयोग करते हैं। ' –