web-dev-qa-db-fra.com

Ajouter plusieurs boutons à la barre de navigation dans le storyboard

Je me demande si cela peut être réalisé en utilisant Storyboard IB:

self.navigationItem.leftBarButtonItems = @[barButton1, barButton2]

EDITED:

Le but est de préserver les avantages de l'utilisation du storyboard et, s'il est possible, sans utiliser de lignes de code.

EDIT # 2:

Sur la base de cette réponse , j'ai expérimenté et constaté qu'il était possible de lier la propriété Title View de l'élément de navigation à une barre d'outils enter image description here

mais cela me ressemble à un bidouille (et je pourrais aussi vouloir conserver le titre):

enter image description here

Une meilleure idée?

23
user623396

Il existe un moyen d'ajouter une vue à navigationItem. Que d’ajouter des boutons ou des étiquettes dont vous avez besoin à la vue.

enter image description here

enter image description here

7
JerryZhou

Peut utiliser le code ci-dessous: 

UIBarButtonItem *btnShare = [[UIBarButtonItem alloc] initWithCustomView:self.backbtn];
UIBarButtonItem *btnRefresh = [[UIBarButtonItem alloc] initWithCustomView:self.testbutton2];   
[self.navigationItem setLeftBarButtonItems:[NSArray arrayWithObjects:btnShare,btnRefresh, nil]];
2
Niranjan kumar

1 -> Bouton glisser-déposer L'élément dans la barre de navigation et dans le dernier xcode, vous pouvez directement placer plus d'un élément dans la barre de navigation, à gauche ou à droite.

see this for example

1
Gulfam Khan

Si vous voulez les ajouter à partir du code, dans Swift vous pouvez faire:

override func viewDidLoad() {
    // ....
    let ubRefresh = UIBarButtonItem.init(barButtonSystemItem: .Refresh, target: self, action: "refreshManually")
    let ubMyIcon = UIBarButtonItem(image: UIImage(named: "MyIcon"), style: .Plain, target: self, action: "myAction")
    self.navigationItem.setRightBarButtonItems([ubMyIcon, ubRefresh], animated: true)

}
0
lifeisfoo

Je vous suggère d'ajouter plusieurs boutons sur la barre d'outils. L'ajout de plusieurs boutons dans la barre de navigation n'est pas une bonne idée. si vous voulez ajouter plusieurs boutons sur la barre d’outils en utilisant le storyboard. Ce lien vidéo peut vous aider à créer une barre d’outils avec plusieurs boutons https://www.youtube.com/watch?v=4nYM8EfTpRw

0

Vous pouvez créer une UIToolbar contenant tous vos boutons:

UIToolbar *toolbar = [[UIToolbar alloc] init];
// ... set toolbars' frame, initialize buttons, etc;
[toolbar setItems:@[barButton1, barButton2] animated:NO];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:toolbar];

Ou vous pouvez utiliser setLeftBarButtonItems:animated: et setRightBarButtonItems:animated:

J'espère que ça aide, bonne chance!

0
nemesis

Vous pouvez créer vos boutons dans le storyboard, les éditer ou les styler à votre guise, puis créer leurs points de vente et les ajouter en tant qu’objets de niveau supérieur, puis les ajouter au moment de l’exécution à viewDidLoad en utilisant [navigationItem setLeftBarButtonItems:] et [navigationItem setRightBarButtonItems: ... Espérons que Aide :)

0
Bhaumik Desai