2012-04-11 9 views
6

Ich bin neu in der iOS-Entwicklung. Ich habe eine Navigationsleiste in meiner iPad-Anwendungsansicht erstellt. Ich brauche keinen Navigationscontroller, deshalb habe ich nur eine Navigationsleiste hinzugefügt. Jetzt möchte ich Knopf in dieser Navigationsleiste hinzufügen. Ich habe viel versucht, aber keinen Erfolg. Ist es möglich nur Navigationsleiste mit Button hinzuzufügen? Wenn ja, schlagen Sie mir einen Beispielcode vor.So fügen Sie die Schaltfläche "Leiste" in der Navigationsleiste ohne Navigationscontroller hinzu.

"Ich habe keine Navigation Controller oder brauche es. Ich möchte nur Navigationsleiste in nur einer Ansicht hinzufügen."

Bellow ist mein Code, die ich für das Hinzufügen von Navigationsleiste in ViewDidLoad schreiben()

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

Vielen Dank im Voraus ....

Antwort

1

Sie Tasten Navigationsleiste hinzufügen können, wie folgt:

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

im obigen Code diese Zeile gibt mir einen Fehler. 'navBar.rightBarButtonItem = btnSave;' Fehler: Semantic Issue: Eigenschaft 'rightBarButtonItem' nicht gefunden auf Objekt vom Typ 'UINavigationBar *' –

+0

Sie können auch Navigationsleiste zu Xib-Datei hinzufügen, dann können Sie bar Button Element hinzufügen. –

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

Ich habe den Interface Builder verwendet, um eine statische TableView in einem UITableViewController zu erstellen. Dieser UITableViewController wird modal angezeigt. Dann fügte ich eine Navigationsleiste ohne den UINavigationController wie folgt hinzu:

//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]; 

Ich hoffe, das hilft jemandem!

Verwandte Themen