C'è un modo migliore per nascondere la backBarButtonItem di questo?
-
22-08-2019 - |
Domanda
Ho un modo di nascondere il pulsante indietro utilizzato dal controller di navigazione. E 'stato allestito dal regolatore precedente, non quello gestire la vista corrente, e che lo rende difficile da raggiungere. Avevo bisogno di fare questo in modalità di modifica in modo che potessi impedire all'utente di navigare lontano dallo schermo.
if(self.editing) {
// Get rid of the back button
UIView *emptyView = [[UIView alloc] init];;
UIBarButtonItem *emptyButton = [[[UIBarButtonItem alloc] initWithCustomView:emptyView] autorelease];
[self.navigationItem setLeftBarButtonItem:emptyButton animated:YES];
} else {
// Restore the back button
[self.navigationItem setLeftBarButtonItem:nil animated:YES];
}
C'è un modo migliore per fare questo?
Soluzione
utilizzare questo per nascondere pulsante Indietro
[self.navigationItem setHidesBackButton:YES]
utilizzare questo per mostrare tasto back
[self.navigationItem setHidesBackButton:NO]
Altri suggerimenti
Ecco il metodo che uso nel mio controller della vista per mostrare e nascondere il pulsante indietro quando editing è abilitato e disabilitato:
- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
if (editing) {
// Disable the back button
[self.navigationItem setHidesBackButton:YES animated:YES];
}
else {
// Enable the back button
[self.navigationItem setHidesBackButton:NO animated:YES];
}
[super setEditing:editing animated:animated];
}
Fare una presa di corrente con una forte (non debole come default) del pulsante della barra dallo storyboard al controller della vista. Lo scopo non è quello di perdere il riferimento quando si imposta il pulsante di barra a sinistra / destra a zero.