Reputation: 126309
I understand that I should set self.title
in -initWithNibName:bundle:
.
What about self.navigationItem.titleView
?
Since self.navigationItem.titleView
seems only to be used when self.view
is loaded, I'm thinking I should, to save memory, set self.navigationItem.titleView
in -viewDidLoad
and nil it in -viewDidUnload
, e.g.:
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationItem.titleView = [[UIImageView alloc] initWithImage:
[UIImage imageNamed:@"logo.png"]];
}
- (void)viewDidUnload {
self.navigationItem.titleView = nil;
[super viewDidUnload];
}
What about self.navigationItem.backBarButtonItem
?
Upvotes: 0
Views: 407
Reputation: 126309
It seems to work OK to set self.navigationItem.titleView
in -viewDidLoad
and nil it in -viewDidUnload
.
You should set self.navigationItem.backBarButtonItem
in -initWithNibName:bundle
because if you push two view controllers without animation -viewDidLoad
will not get called for the first view controller that's pushed. So, if that view controller sets self.navigationItem.backBarButtonItem
in -viewDidLoad
, it will actually not get set, and the back button on the second view controller will just default to the title of the first view controller as usual.
Upvotes: 1