BTNavigationDropdownMenu
Bonsoir,
J'essaye de faire fonctionner le code suivant qui permet d'avoir un menu déroulant au niveau de la barre de navigation :
https://github.com/PhamBaTho/BTNavigationDropdownMenu
j'arrive très bien à faire apparaitre le menu, cependant comme il est notifié dans les discussions ci-dessous,
https://github.com/PhamBaTho/BTNavigationDropdownMenu/issues/31
mon menu ne disparait pas lorsque je fais un retour arrière. on peut apercevoir que pas mal de personne ont eu ce problème.
Pourtant dans la dernière version, la personne qui a mis à disposition ce code a rajouter des fonctions en publique pour qu'on puisse faire apparaà®tre ou disparaitre le menu dans n'importe quelle classe.
Dans mon cas j'ai testé ceci afin de cacher le menu lorsque la vue disparait, mais rien ne se passe :
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(true)
let menuView = BTNavigationDropdownMenu(navigationController: self.navigationController, title: " ", items: [" ", " "])
menuView.hideMenu()
}
en revanche si je fais ceci, cela fonctionne le menu apparait sous la barre de navigation (cela sert a rien mais c'était pour tester) :
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
let menuView = BTNavigationDropdownMenu(navigationController: self.navigationController, title: " ", items: [" ", " "])
menuView.showMenu()
}
Selon vous pourquoi au niveau de viewWillDisappear, le menuView.hideMenu() ne fonctionne pas ?
Merci.
Réponses
C'est comme si tu avais un chien qui aboyait tout le temps, et pour le faire taire au lieu de mettre une muselière sur ton chien, tu achetais un nouveau chien pour y mettre ensuite une muselière dessus... le premier chien va évidemment continuer à aboyer pour autant. Bah là c'est pareil, t'as sans doute créé un menu quelque part dans ton appli, mais dans le viewDidDisappear ce que tu fais c'est créer un nouveau menu que tu masques ensuite immédiatement, au lieu de masquer le premier menu que tu as créé ailleurs.
Mais oui...
je déclare
et après je fais :
en fait je crée un nouveau menu ! je n'ai pas fait assez attention !
j'ai juste enlevé le let et ça fonctionne,
Merci.
Je trouve ça bizarre que tu n'aies pas eu une erreur de compilation en utilisant le même identifiant de variable "menuView". Je l'associerais à un bug compilateur.