7

Voglio aggiungere molti s UIBarButtonItem' ad un UINavigationbar, non solo a destra ea sinistra pulsanti:Come posso aggiungere più UIBarButtonItem a UINavigationBar?

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; 

ho un SIGBRT su self.navigationController.navigationBar.items = items;

Come posso aggiungere più UIBarButtonItem s ad un UINavigationBar?

+0

possibile duplicato di [UIBarButtonItem multipli in UINavigationBar] (http://stackoverflow.com/questions/5100840/multiple-uibarbuttonitems-in-uinavigationbar) –

risposta

16

È necessario aggiungere UIBarButtonItem esempio a una UINavigationItem, non a un UINavigationBar. Così si può fare questo come:

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

Se si desidera che i tasti sulla destra, utilizzare rightBarButtonItems.

+0

C'è un modo per aggiungere i pulsanti della barra di sinistra senza disattivare il pulsante Indietro? – NHDaly

4

Si dovrebbe usare

self.navigationItem.leftBarButtonItems = items; 
-1

utilizzare addSubView nella barra di navigazione.

+0

Non è una grande idea ... quei pulsanti non sembrano o si comportano come le istanze standard di 'UIBarButtonItem' e, inoltre,' UIBarButtonItem' non è una sottoclasse di 'UIView', quindi non è possibile chiamare [navigationBar addSubview: logoButton ] '. –

+0

-1: dai documenti di 'UINavigationBar':' Quando si utilizza una barra di navigazione come oggetto autonomo, si è responsabili della fornitura dei suoi contenuti. A differenza di altri tipi di viste, non aggiungere direttamente le visualizzazioni secondarie a una barra di navigazione. Invece, si utilizza un elemento di navigazione (un'istanza della classe UINavigationItem) per specificare quali pulsanti o viste personalizzate si desidera visualizzare. –

Problemi correlati