2012-04-11 3 views
6

Sono nuovo nello sviluppo di iOS. Ho creato una barra di navigazione nella vista dell'applicazione iPad. Non ho bisogno di controller di navigazione, ecco perché ho aggiunto solo la barra di navigazione. Ora voglio aggiungere un pulsante in quella barra di navigazione. Ho provato molto, ma senza successo. È possibile aggiungere solo la barra di navigazione con il pulsante? Se sì allora suggeriscimi qualche codice di esempio.Come aggiungere il pulsante Barra nella barra di navigazione senza controller di navigazione.

"Non ho il controller di navigazione o ne ho bisogno. Voglio solo aggiungere la barra di navigazione in una sola vista."

Bellow è il mio codice che scrivo per l'aggiunta di barra di navigazione in viewDidLoad()

UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 1026, 50)]; 
[navBar setTintColor:[UIColor blackColor]]; 
[navBar setDelegate:self]; 
[self.view addSubview:navBar]; 

Grazie in anticipo ....

risposta

1

È possibile aggiungere pulsanti alla barra di navigazione come segue:

UIBarButtonItem *btnSave = [[UIBarButtonItem alloc] 
           initWithTitle:@"Save" 
           style:UIBarButtonItemStyleBordered 
           target:self 
          action:@selector(save_Clicked:)]; 
navBar.rightBarButtonItem = btnSave; 
[btnSave release]; 

UIBarButtonItem *btnCancel = [[UIBarButtonItem alloc] 
           initWithTitle:@"Cancel"          
           style:UIBarButtonItemStyleBordered 
           target:self 
           action:@selector(cancel_Clicked:)]; 
navBar.leftBarButtonItem = btnCancel; 
[btnCancel release]; 
+2

nel codice sopra questa riga mi dà errore. 'navBar.rightBarButtonItem = btnSave;' errore: Semantico Problema: proprietà 'rightBarButtonItem' non trovata su oggetto di tipo 'UINavigationBar *' –

+0

puoi anche aggiungere la barra di navigazione al file xib, quindi puoi aggiungere l'elemento pulsante bar ad esso. –

5
UIBarButtonItem *bi1 = [[UIBarButtonItem alloc] initWithTitle:@"Edit" style:UIBarButtonItemStyleBordered target:self action:@selector(editButton)]; 

bi1.style = UIBarButtonItemStyleBordered; 
bi1.tintColor = [UIColor colorWithWhite:0.305f alpha:0.0f]; 

self.navigationItem.rightBarButtonItem = bi1; 

[bi1 release]; 
11

Ho utilizzato l'Interface Builder per creare una tabella statica in un UITableViewController. Questo UITableViewController è mostrato in modo modale. Poi ho aggiunto un NavigationBar senza l'UINavigationController dietro di esso come segue:

//Creating the plain Navigation Bar 
UINavigationBar *headerView = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)]; 

//The UINavigationItem is neede as a "box" that holds the Buttons or other elements 
UINavigationItem *buttonCarrier = [[UINavigationItem alloc]initWithTitle:@"Sign-In"]; 

//Creating some buttons: 
UIBarButtonItem *barBackButton = [[UIBarButtonItem alloc] initWithTitle:@"Zurück" style:UIBarButtonItemStyleDone target:self action:@selector(signInBackPressed:)]; 
UIBarButtonItem *barDoneButton = [[UIBarButtonItem alloc] initWithTitle:@"Fertig" style:UIBarButtonItemStylePlain target:self action:@selector(signInDonePressed:)]; 

//Putting the Buttons on the Carrier 
[buttonCarrier setLeftBarButtonItem:barBackButton]; 
[buttonCarrier setRightBarButtonItem:barDoneButton]; 

//The NavigationBar accepts those "Carrier" (UINavigationItem) inside an Array 
NSArray *barItemArray = [[NSArray alloc]initWithObjects:buttonCarrier,nil]; 

// Attaching the Array to the NavigationBar 
[headerView setItems:barItemArray]; 

// Adding the NavigationBar to the TableView 
[self.tableView setTableHeaderView:headerView]; 

Spero che questo aiuta qualcuno!