Where is the best place to run initialization code for a UITabBarController?
- by bobobobo
I have a UITabBarController in my application. I have to perform some customization to the NIB file using code the first time a view embedded in that UITabBarController gets loaded.
When applicationDidFinishLaunching occurs, the UITabBarController's views apparently are not loaded -- if I try to modify the view controllers inside a tab bar that the tab bar is to load in applicationDidFinishLaunching, then those changes are ignored. I'm assuming this is because the tab bar didn't finish loading yet.
So, I need a good place to put code that will run immediately after a tabbar is fully ready -- i.e. after it has loaded all the views from their respective nib files. I'm finding the only place I can do this is to track the first time viewDidAppear on each individual view controller. Note I can't use viewWillAppear because I need the value of tabBarController.selectedIndex to be accurate, and it is only actually updated after viewDidAppear gets fired, not when viewWillAppear gets fired.