J'ai suivi this answer et ajouté un UIGestureRecognizer
pour afficher ou masquer la barre de navigation et la barre d'outils. Curieusement, la barre de navigation ne se couche pas en se cachant mais elle glisse quand elle réapparaît. la barre d'outils est animée tout le temps.La barre de navigation ne s'anime pas en se cachant mais elle s'anime tout en réapparaissant
J'ai changé le code:
override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation {
print("got called")
return UIStatusBarAnimation.slide
}
pour voir si elle est appelée quand il se cache et il est appelé se. J'ai également essayé de mettre automaticallyAdjustsScrollViewInsets
à faux comme suggéré par les commentaires de la même réponse mais toujours pas de chance.
Je ne trouve aucune information sur ce problème n'importe où.
EDIT: voici mon code complet:
override func viewDidLoad(){
super.viewDidLoad()
self.automaticallyAdjustsScrollViewInsets = false
let gesture = UITapGestureRecognizer(target: self, action: #selector(toggle))
view.isUserInteractionEnabled = true
view.addGestureRecognizer(gesture)
}
func toggle() {
navigationController?.setNavigationBarHidden(navigationController?.isNavigationBarHidden == false, animated: true)
navigationController?.setToolbarHidden(navigationController?.isToolbarHidden == false, animated: true)
}
override var prefersStatusBarHidden: Bool {
print("got called 1")
return navigationController?.isNavigationBarHidden == true
}
override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation {
print("got called 2")
return UIStatusBarAnimation.slide
}
merci pour votre réponse, mais ce code ne fonctionne pas du tout pour une raison quelconque! Je dois appeler 'navigationController? .setNavigationBarHidden' pour cacher la Navbar, avec' setNeedsStatusBarAppearanceUpdate() ' , rien ne change. –