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!
There's one issue with using
self.title = @"title";
If you're using Navigation Bar along with Tab bar, the above line also changes the label for the Tab Bar Item. To avoid this, use what @testing suggested
What worked for me was
self.titleLabel.text = @"New Title";
if you are doing it all by code in the
viewDidLoad
method of theUIViewController
you should only addself.title = @"title text";
something like this:
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.
In my navigation based app I do this:
For all your Swift-ers out there, this worked perfectly for me. It's notably one of the shorter ways to accomplish setting the title, as well:
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:or