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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top