Domanda

come nascondere la barra superiore in UIViewcontroller quando spingo dal controller di navigazione utilizzando pushViewController ? qualche aiuto per favore?

È stato utile?

Soluzione

Inserisci questo codice nel controller di visualizzazione per cui vuoi nascondere la barra di navigazione.

- (void) viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:YES animated:animated];
}

E potresti anche voler inserire questo, a seconda delle tue esigenze:

- (void) viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    [self.navigationController setNavigationBarHidden:NO animated:animated];
}

Altri suggerimenti

Ecco come farlo in Swift 3 :

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    self.navigationController?.setNavigationBarHidden(true, animated: animated)
}

P.S. Ho scoperto che se imposti l'animazione su false , una barra nera appare sulla spinta. Ma quando è impostato su true è liscio come la seta!

Per iOS 8 Potrebbe essere questo lavoro in giro potrebbe funzionare

CATransition* transition = [CATransition animation];
        transition.duration = 0.3;
        transition.type = kCATransitionPush;
        transition.subtype = kCATransitionFromRight;
        [self.navigationController.view.layer addAnimation:transition forKey:kCATransition];
        [self.navigationController setNavigationBarHidden:TRUE animated:FALSE];
        [self.navigationController pushViewController:productViewObj animated:FALSE];
        [productViewObj.navigationController setNavigationBarHidden:TRUE animated:FALSE];
        [productViewObj release];
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top