I'm working on an app where my initial view controller is embedded in a Navigation Controller and Tab bar controller.
In my app I have 3 different tabs, one tab is the settings view. This is a tableview with 5 buttons. every button will show the same view controller when it's touched.
When I touch on one of the buttons, I still have a nice green navigation bar, but my buttons do not work.
I tried dragging a Navigation Item into the view in my storyboard and then put a bar button item in it. I can see the button in my storyboard, but it won't show up in my app when I run it.
I also added the following code to my 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
But it won't have any effect.
I checked if the correct UIViewController was assigned to my view in the storyboard, did several Clean builds (CMD + Shift + K) and Rebuilds (CMD + B).
The following images are a screenshot of a part of my storyboard and a screenshot of my app at the view where the buttons won't show up.
EDIT
Added a new screenshot about the controls in the view. These do not work with or without the additional code in my viewDidLoad.
Instead of
navigationController?.navigationItem.leftBarButtonItem = leftItem
do
navigationItem.leftBarButtonItem = leftItem
Update I suggest you add them directly in the storyboard to your Viewcontroller