[Résolu] Plusieurs boutons dans une navbar
Bonjour à tous,
après plusieurs heures à chercher et transpirer, je reviens pour boire un coup d;-)
Voilà , pour rester simple, j'ai besoin (En Swift - pas en objectiveC) de placer plusieurs boutons dans ma barre de nav (en haut de l'écran), mais pas le leftButton et le rightButton, mais deux boutons à gauche et trois à droite (par ex.)
Je sais le faire dans une toolBar en bas de l'écran, comme sur cette appli apple que l'on peut télécharger là .
let toolbarButtonItems = [
customImageBarButtonItem,
flexibleSpaceBarButtonItem,
customBarButtonItem
]
toolbar.setItems(toolbarButtonItems, animated: true)
J'ai tout essayé, une toolBar dans une navBar, des boutons dans la navBar - dans le storyBoard, en code. Impossible, et je sais qu'il existe plein d'applis avec plusieurs boutons en haut de l'écran.
L'idéal, pour moi, est de le faire en code. J'ai déjà mis un bouton qui fonctionne, mais évidemment sur le leftButton. Mais ensuite, je bloque.
Voilà un bout de code :
self.navigationItem.setHidesBackButton(true, animated: false)
var newPatientsButton: UIBarButtonItem = UIBarButtonItem(image: UIImage(named: "patientsButton.png"), style: .Plain, target: self, action: "lanceTogglePatients")
newPatientsButton.tintColor = UIColor(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0)
self.navigationItem.leftBarButtonItem = newPatientsButton
Merci d'avance.
Réponses
tu mets tes boutons dans une array, et tu donne l'array à la navbar
En obj-c ca donne un truc comme ca, mais ca doit être proche en swift
Je pense que c'est tout simplement pas prévu pour.
La propriété item d'une barre de navigation ne fonctionne pas du tout comme celle d'une barre d'outils.
Le plus simple à mon avis est d'ajouter une barre d'outil.
C'est ce que j'appelle un fonctionnement différent. items d'une barre de navigation sert à remplacer toute la pile des contrôleurs qui ont été poussés, pas à ajouter des boutons dans la barre.
ah oui merde, pardon !
Hello,
Dans ton controller ( UIViewController ):
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UINavigationItem_Class/
Merci pour vos réponses,
J'ai essayé avec le lien apple (setItems - items), et j'avoue que je n'y comprend pas grand chose.
J'ai cette erreur :
Voilà mon code en vrac.
J'ai essayé en déclarant et sans déclarer items. Et aussi en array de UIButtonItem. Et c'est pareil.
et pour la config. :
Sans quoi, j'ai trouvé ça, je ne sais pas ce que ça vaut, en plus c'est en objectiveC.
http://osmorphis.blogspot.fr/2009/05/multiple-buttons-on-navigation-bar.html
Il balance une toolBar dans le leftButton !!!
Ah, je n'avais pas vu vos autres réponses.
Ok, Samir, je crois que ça, c'est le bon truc.
Merci, j'essaie...
Voici un exemple de mon code en Objective C :
Le self ici correspond à mon UIViewController et non pas la UINavigationBar.
Je pense que tout le monde est d'accord. Si on veut plus de 2 boutons dans une Nav Bar il faut passer par une Tool Bar.
Ben, ça marche nickel avec le code de Samir / Apple
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UINavigationItem_Class/#//apple_ref/occ/instp/UINavigationItem/leftBarButtonItems
Et je vais pouvoir faire pareil à droite, pour trois boutons. Trop cool.
Encore merci Samir.
Je ne comprend pas pourquoi je n'arrive pas à trouver cette property par moi-même, et encore plus, pourquoi je ne trouve que des trucs compliqués qui ne fonctionnent pas. Je pense que j'ai du mal à lire la doc apple, surtout en anglais. Ils ne donnent jamais d'exemple, c'est dommage.
Voici le code qui fonctionne.
En tout cas merci à vous tous, et désolé pour le dérangement.
De toutes façon, je reviendrais boire un coup avec vous
Je vais mettre résolu.