grafiniert - IT- und Medienlösungen Webdesign Regensburg Neumarkt
iPhone / 
18.05.2010
17:48

Mehr als 2 Buttons in UINavigationBar

Im Normalfall gibt es genau 2 Positionen für Buttons beim UINavigationController. Oftmals reichen die aber einfach nicht aus. Ein Beispiel dafür ist die App Anwaltsfinder. Allerdings gibt es einen sehr einfachen Weg, mehr als zwei Buttons in die UINavigationBar zu packen.

UIToolbar* toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 100, 44.01)];

[toolbar setBarStyle: UIBarStyleDefault];

NSMutableArray* buttons = [[NSMutableArray alloc] initWithCapacity:3];

UIBarButtonItem *saveButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"info.png"] style:UIBarButtonItemStylePlain target:self action:@selector(showInfo:)];

saveButton.style = UIBarButtonItemStyleBordered;

[buttons addObject:saveButton];

[saveButton release]; 

UIBarButtonItem *spacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];

[buttons addObject:spacer];

[spacer release];

shownYET = NO;

rightButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"flag.png"] style:UIBarButtonItemStyleBordered target:self action:@selector(switchView)];

[buttons addObject:rightButton];

[toolbar setItems:buttons animated:NO];

[buttons release];

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:toolbar];

[toolbar release];

Das ist der gesamte Code um zwei Buttons auf der rechten Seite der NavigationBar anzuzeigen.

Was macht er im Detail?

Es wird eine UIToolbar erstellt, die mit den eigentlichen UIBarButtonItems gefüllt wird. Anschließend wird der rechte Button-Slot der UINavigationBar mit einer eigenen View, eben der Toolbar initialisiert.

Das war schon der ganze Zauber. Viel Spaß damit :-)

 

  •  
  • 0 Kommentare
  •  

Mein Kommentar

Benachrichtige mich, wenn jemand einen Kommentar zu dieser Nachricht schreibt.

Zurück

Letzte Kommentare

flash suckt
12.02.2010 08:35
Wird nicht gehen
30.01.2010 00:07

Bleiben Sie immer auf dem Laufenden. Abonnieren Sie den RSS-Feed mit allen neuen Beiträgen.