Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iPhone: Setting Navigation Bar Title

Hey all. I'm still pretty new to iPhone development, and I'm having a bit of trouble figuring out how to change the title of my Navigation Bar. On another question on this site somebody recommended using :

viewController.title = @"title text"; 

but that isn't working for me...Do I need to add a UINavigationController to accomplish this? Or maybe just an outlet from my UIViewController subclass? If it helps, I defined the navigation bar in IB and I'm trying to set its title in my UIViewController subclass. This is another one of those simple things that gives me a headache. Putting self.title = @"title text"; in viewDidLoad and initWithNibName didn't work either. Anybody know what's happening and how to get it happening right?

Thanks!

like image 371
Arthur Skirvin Avatar asked Feb 17 '10 12:02

Arthur Skirvin


People also ask

How do you add a title to the navigation bar?

title = @"title"; But If you have a standalone navigation bar that is created programmatically within an object of UIViewController, You have to set the initial appearance of the navigation bar by creating the appropriate UINavigationItem objects and adding them to the navigation bar object stack i.e.

How do I change the navigation bar on my Iphone?

Change the Bar Style A user changes the navigation bar's style, or UIBarStyle , by tapping the “Style” button to the left of the main page. This button opens an action sheet where users can change the background's appearance to default, black-opaque, or black- translucent.

What is the navigation title?

The navigation title is the label that shows in your site's left-hand navigation menu (and the drop-down navigation, if applicable). The first thing to consider when attempting to change the navigation title: Are you labeling a subsite or a page?


2 Answers

The view controller must be a child of some UINavigationController for the .title property to take effect. If the UINavigationBar is simply a view, you need to push a navigation item containing the title, or modify the last navigation item:

UINavigationItem* item = [[UINavigationItem alloc] initWithTitle:@"title text"]; ... [bar pushNavigationItem:item animated:YES]; [item release]; 

or

bar.topItem.title = @"title text"; 
like image 168
kennytm Avatar answered Oct 06 '22 01:10

kennytm


if you are doing it all by code in the viewDidLoad method of the UIViewController you should only add self.title = @"title text";

something like this:

- (void)viewDidLoad {     [super viewDidLoad];     self.title = @"title"; } 

you could also try self.navigationItem.title = @"title";

also check if your navigationItem is not null and if you have set a custom background to the navigationbar check if the title is set without it.

like image 41
Sorin Antohi Avatar answered Oct 06 '22 01:10

Sorin Antohi