2012-06-01 15 views
22

enter image description hereस्टोरीबोर्ड में UINavigationItem के लिए एकाधिक UIBarButtonItems जोड़ें?

एक एकल UIBarButton आइटम जोड़ना आसान है जैसा कि आप यहां मेरी स्टोरीबोर्ड में देख सकते हैं। लेकिन मैं कई जोड़ना चाहता हूं और ऐसा लगता है कि मैं स्टोरीबोर्ड का उपयोग नहीं कर सकता?

कौन सा कष्टप्रद है क्योंकि तब मैं स्टोरीबोर्ड के पूरे अच्छा सिंहावलोकन खो देते हैं और यह Segue की है।

क्या यह मामला है? स्टोरीबोर्ड का उपयोग करने वाली पहली परियोजना इसलिए मुझे लगा कि मुझे कुछ याद आ रहा है।

+2

में डिजाइन यदि आप एक "छोड़" और "सही" बार की तुलना में अधिक करना चाहते हैं बटन आइटम, मुझे लगता है कि आपको अपना स्वयं का (या उपclassed) UINavigationBar बनाना पड़ सकता है जहां कई बटन निर्दिष्ट और खींचे जा सकते हैं। –

+0

@MichaelDautermann एकाधिक UINavigationBar बटन प्रत्येक तरफ आईओएस 5 में समर्थित हैं। आपको उपclass की आवश्यकता नहीं है। हालांकि मुझे नहीं पता कि आप स्टोरीबोर्ड में उन्हें कैसे प्रबंधित करते हैं :( –

+0

@ स्ली क्या आपको कोई समाधान मिला? मैं वर्तमान में आपके जैसा ही मामला हूं। कई मूल ऐप्स में कई बटन हैं (उदाहरण के लिए मेल)। अभी के लिए मैं उपयोग करता हूं एक टूलबार डालने, इसे छिपाने और नेविगेशन बार पर बटन कॉपी करने की चाल। लेकिन यह एक चाल है। क्या कोई साफ समाधान है? – HpTerm

उत्तर

50

एक्सकोड 4.6 (कम से कम) में, आप नेविगेशन बार पर एक सादा दृश्य खींच सकते हैं (जिस भी तरफ आप कई बटन चाहते हैं), फिर उसके ऊपर एक टूलबार खींचें। एक बार ऐसा करने के बाद, आप टूलबार पर कई बार बटन आइटम रख सकते हैं, और उन्हें सामान्य रूप से क्रियाओं/सेग्यूज़ आदि तक तारित कर सकते हैं। सुनिश्चित करें कि आपके पास डिफ़ॉल्ट (पारदर्शी) पृष्ठभूमि रंग दोनों के लिए सेट अप और टूलबार है।

+1

डैन एल के लिए +1 बहुत बढ़िया उत्तर। बिल्कुल मुझे क्या चाहिए। धन्यवाद! – BigSauce

+10

टूलबार के ऊपर ग्रे लाइन से छुटकारा पाने के लिए दृश्य पर "क्लिप सबव्यू" का चयन करें। –

+0

अभी भी एक्सकोड 5 में बहुत उपयोगी है। धन्यवाद! –

-1

इस

-(void)viewDidLoad 
{ 

    [super viewDidLoad]; 

    UIBarButtonItem *editBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editAction)]; 

    UIBarButtonItem *saveBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(saveAction)]; 

    self.navigationItem.rightBarButtonItems = [[NSArray alloc] initWithObjects:editBarButtonItem, saveBarButtonItem, nil]; 
} 

हम भी तरीकों editAction और saveAction लागू करने की आवश्यकता का प्रयास करें।

-(void)editAction 
{ 

    NSLog(@"edit button clicked"); 
} 

-(void)saveAction 
{ 

    NSLog(@"save button clicked"); 
} 
3

Xcode 7 में आप अंत में सिर्फ कई UIBarButtonItems UINavigationItem के लिए सीधे इंटरफ़ेस बिल्डर में खींच सकते हैं।

देखें WWDC 2015 सत्र 407 वीडियो शीर्षक:

कार्यान्वयन यूआई इंटरफ़ेस बिल्डर

https://developer.apple.com/videos/wwdc/2015/?id=407

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