views:

27

answers:

0

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.