Cercando di personalizzare il mio pulsante Indietro in un controller di navigazione drilldown.navigationItem.backBarButtonItem non funziona? Perché il menu precedente è ancora visualizzato come pulsante?
su My One controller della vista che hanno un Aggiungi pulsante dove il codice genera programatically un nuovo UIViewController
:
- (void)add:(id)sender
{
MyAddViewController *addController = [[MyAddViewController alloc] initWithNibName:@"MyAddViewController" bundle:nil];
[self.navigationController pushViewController:addController animated:YES];
[addController release];
}
Questo funziona e quando si fa clic sul pulsante Aggiungi entra in profondità nella nuova vista. All'interno del metodo MyAddViewController.m
viewDidLoad
ho:
self.navigationItem.backBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil] autorelease];
Ma questo non sta funzionando. Il pulsante Indietro nel controller di navigazione rimane il titolo del controller della vista precedente nello stack. Sembra che la linea non faccia nulla. Ho dimenticato qualcosa?
Grazie
Come si assegna l'azione da eseguire sulla vista spillata prima di tornare alla vista precedente Controller. – mask
Per quanto ne so, non puoi farlo usando il backBarButtonItem.Per fare ciò è necessario sostituire il leftBarButtonItem e assegnargli un'azione. – marimaf
Questa risposta mi ha salvato dopo ore di frustrazione. – Tres