I am developing an application based on UITabbar and the view hierarchy as follows.
UITabBarController ----> UINavigationController ----> UIViewController
I need
With the hierachy that you are using:
I can acces without problem the UITabBarController
from the ViewController
with:
self.tabBarController
Move your Custom initialization to viewDidLoad
or viewDidAppear
Then for shure you can access TabBarController
with self.tabBarController
Another way to arrive to your TabBarController is:
UITabBarController *tabBarController = (UITabBarController *)[[[UIApplication sharedApplication] delegate] window].rootViewController;
But it is totally unnecessary in your case.
EDIT:
If you are working with Xib, then you has been created a TabBarController programmatically in your AppDelegate. I'm sure you have something like:
self.tabBarController = [[UITabBarController alloc] init];
Then you can call it in your ViewController:
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
UITabBarController *tabBarController = appDelegate.tabBarController;