Navigation Item not appearing on View Controller

SRQMarsh picture SRQMarsh · Jun 5, 2012 · Viewed 24.1k times · Source

I apologize I am new to iphone programming.

I have created a Master-Detail Iphone application (so Navigation Controller came with the project). I segue to a new view controller I created through a UIBarButtonItem on the masterviewcontroller. However unlike the detailviewcontroller (that came with the project) I can not seem to get the navigationitem (or navigationbar?) to display on the view even though it appears in the scene list of my storyboard.

Heres some code and a screenshot:

In my masterviewcontroller.m viewdidload() function

UIBarButtonItem *settingsButton = [[UIBarButtonItem alloc] initWithTitle:@"Settings" style:normal target:self action:@selector(goToSettings:)];
self.navigationItem.leftBarButtonItem = settingsButton;

in my masterviewcontroller.m

- (IBAction)goToSettings:(id)sender{    
    [self performSegueWithIdentifier:@"SettingsSegue" sender:self];
}

I tried adding a title to the navigationitem during the viewDidLoad function of the new viewcontroller.m class i created (mentioned in this Link but it didn't work)

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    self.navigationItem.title = @"Settings";
    self.navigationItem.leftBarButtonItem = self.editButtonItem;
}

But it still shows up in my storyboard ( it shows up in the list under the scene but not in the display of the view)

So my question is why is it now showing up and how do I get it to? I want a back button like my detail view controller that came with the master-detail project.

EDIT#1

I have added a check for whether navigation controller is nil and it is not nil (the if statement is never entered) I also tried changing the navigation item to back and removing and none has worked.

if(self.navigationItem == nil)
{
    [ self.navigationItem init];
}
self.navigationItem.title = @"Settings";
self.navigationItem.leftBarButtonItem = self.navigationItem.backBarButtonItem;

Now that I have enough reputation to show an image I can show that the navigation item shows up in the list but doesnt show up on the view

enter image description here

Answer

SRQMarsh picture SRQMarsh · Jun 6, 2012

The Navigation item did not show up because of the "style" of my segue.

The segue that moved the scene from the master view controller to the settings view controller was set to 'modal'. It has to be set to 'push'. This is done from the storyboard on the utilities pane