Frage

Wie oben bar in verstecken UIViewController , wenn ich von Navigationssteuerung drücken mit Pushviewcontroller ? jede mögliche Hilfe bitte?

War es hilfreich?

Lösung

Setzen Sie diesen Code im View-Controller Sie die Navigationsleiste ausblenden möchten.

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

Und Sie können auch wollen, dass diese dort bleiben, je nach Bedarf:

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

Andere Tipps

Hier ist, wie es zu tun in Swift 3 :

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

P. S. Ich fand, dass, wenn Sie animierte auf false, ein schwarzer Balken auf Push erscheint. Aber wenn es eingestellt ist true es glatt ist wie Seide!

Für iOS 8 Möchte diese Arbeit um es könnte funktionieren

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];
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top