web-dev-qa-db-fra.com

Masquer la barre de navigation pour un contrôleur de vue

J'ai essayé de cacher le contrôleur de navigation pour un seul contrôleur de vue sans succès, la barre de navigation est masquée pour le premier vc, mais elle ne s'affiche pas pour le deuxième vc.

Voici le code que j'ai utilisé dans le premier vc:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    // Hide the Navigation Bar
    self.navigationController?.setNavigationBarHidden(true, animated: animated)
}

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)

    // Show the Navigation Bar
    self.navigationController?.setNavigationBarHidden(false, animated: animated)
}

Qu'est-ce qui a changé dans Swift 4? Ce code a fonctionné dans Swift 3 ...

11

Utilisez le code: - Swift 4

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(true)
// Hide the Navigation Bar
        self.navigationController?.setNavigationBarHidden(true, animated: true)
    }

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(true)
// Show the Navigation Bar
        self.navigationController?.setNavigationBarHidden(false, animated: false)
    }

Je pense que vous avez commis une erreur dans animated: true

35
Dilip Tiwari