Xcode Custom Back Button Action

Wer in seiner iPhone / iPad App eine Navigation-Bar nutzt, wird vllt. irgendwann an den Punkt gelangen, an dem er, aus welchen Gründen auch immer, eigene Aktionen bei Betätigung des BackButtons durchführen möchte.

Sei es, dass Speicher sofort freigegeben werden soll, eine Audio-File sofort gestoppt oder Meldungen an den Nutzer ausgegeben werden sollen. Hierzu ist eine mögliche Lösung, den vorhandenen BackButton durch einen einen eigenen zu ersetzen.

Dieser Button führt bei Touch dann eine Methode aus, in der die eigenen Anweisungen stehen, abgeschlossen durch die Anweisung, das aktuelle Element aus dem NavigationStack zu entfernen (pop).

Einziges „Problem“ ist das Layout des Buttons, diesen wie einen Back Button erscheinen zu lassen, ermöglicht das Framwork three20. Folgender Codeausschnitt veranschaulicht die Vorgehensweise:

-(void) goBack
{
//Write your custommethods
NSlog(„hello custom Back Button“);
//Go back
[self.navigationControllerpopViewControllerAnimated:YES];
}

-(id) initWithName: (NSString*)name initwithBackround:(NSString*)backround {

// … Stuff

//Create the custom back button

TTButton *backButtonView = [TTButtonbuttonWithStyle:@“toolbarBackButton:“title:@“Back“];

[backButtonView addTarget:selfaction:@selector(goBack) forControlEvents:UIControlEventTouchUpInside];

[backButtonView sizeToFit];

UIBarButtonItem *backButton = [[UIBarButtonItemalloc] initWithCustomView:backButtonView];

self.navigationItem.leftBarButtonItem = backButton;

[backButton release];

// Stuff

}