In my main UIViewController I am adding a homescreen view controller as subviews:
UINavigationController *controller = [[UINavigationController alloc] ini
Another case where this will not be called at launch time (yet may be called on when you return to the view) will be is if you have subclassed UINavigationController and your subclass overrides
UINavigationController
-(void)viewDidAppear:(BOOL)animated
but fails to call [super viewDidAppear:animated];
[super viewDidAppear:animated];