L'élément du button Bar n'apparaît pas dans la barre de navigation

Je travaille sur une application où mon controller de vue initial est embedded dans un controller de navigation et un controller de barre d'tabs.

Dans mon application, j'ai 3 tabs différents, un onglet est la vue des parameters. Ceci est une tableview avec 5 buttons. chaque button montrera le même controller de vue quand il est touché.

Quand je touche l'un des buttons, j'ai toujours une belle barre de navigation verte, mais mes buttons ne fonctionnent pas.

J'ai essayé de faire glisser un élément de navigation dans la vue de mon storyboard, puis j'ai placé un élément de barre. Je peux voir le button dans mon storyboard, mais il ne s'affichera pas dans mon application lorsque je l'exécuterai.

J'ai également ajouté le code suivant à mon viewDidLoad ():

let leftItem = UIBarButtonItem(title: "< Back", style: .Done, target: self, action: Selector("Save")) let rightItem = UIBarButtonItem(title: "Save", style: .Plain, target: self, action: Selector("Save")) //self.parentViewController?.navigationItem.leftBarButtonItem = leftItem // also doesn't work navigationController?.navigationItem.leftBarButtonItem = leftItem navigationController?.navigationItem.rightBarButtonItem = rightItem 

Mais cela n'aura aucun effet.

J'ai vérifié si le bon UIViewController a été assigné à ma vue dans le storyboard, a fait plusieurs builds propres (CMD + Shift + K) et reconstruit (CMD + B).

Les images suivantes sont une capture d'écran d'une partie de mon storyboard et une capture d'écran de mon application à la vue où les buttons n'apparaîtront pas.

MODIFIER

Ajout d'une nouvelle capture d'écran sur les controls dans la vue. Ceux-ci ne fonctionnent pas avec ou sans le code supplémentaire dans mon viewDidLoad.

Capture d'écran de mon Storyboard

Capture d'écran de mon application où les boutons devraient apparaître

Capture d'écran de la configuration des contrôles dans ma vue

Supprimer votre premier controller de navigation, seconde vous n'avez pas besoin d'append le button de return juste utiliser push segue, troisième essayer d'utiliser self.navigationItem.leftBarButtonItem (essayez d'append moi-même au début.) * La réponse originale était un commentaire.

Au lieu de

 navigationController?.navigationItem.leftBarButtonItem = leftItem 

faire

 navigationItem.leftBarButtonItem = leftItem 

Mise à jour Je vous suggère de les append directement dans le storyboard à votre Viewcontroller

Cela m'est arrivé récemment. Je faisais ce qu'Ersin a mentionné, mais en vain. Retourné un peu plus et a découvert que c'était le coupable:

nav.pushViewController(notifications, animated: false) nav.pushViewController(interactionCreateOrEdit, animated: false)

Je l'ai changé pour

nav.setViewControllers([notifications, interactionCreateOrEdit], animated: false)

et les UIBarButtonItems ont commencé à apparaître à nouveau.

 UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 40, 40)]; [button setImage:[[UIImage imageNamed:@"BtnBack"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateNormal]; [button.imageView setTintColor:[UIColor whiteColor]]; [button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside]; UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithCustomView:button]; self.navigationItem.leftBarButtonItem = buttonItem; 

ce code écrit sur la méthode ViewWillAppear.