Hi all, long time lurker first time poster :) I've been gradually skilling up on iPhone dev and have run into a hiccup - heres hoping someone out there can help me out.
I have made a very simple Navigation based app (UIViewController). The view has a single button on the Main RootViewController.
Next, I made 2 classes: TabOneViewController, TabTwoViewController. All good.
I then created a new Class TabBarViewController. I opened up the NIB file and dropped on a ``UITabBarController onto it. The two tabs it creates in it by default were assigned (respectively) to my TabOne and TabTwo view controllers.
Then in my TabBarViewController, I made an IBOutlet for a UITabBarController, synthesized it etc etc. I linked it up in Interface builder via the "files owner".
In the RootViewController, I linked the button to my "pushView" method, and in this pushView method, I do the following:
- (IBAction) pushView {
TabBarViewController *controller = [[TabBarViewController alloc] init];
[self.navigationController pushViewController:controller animated:YES];
[controller release];
}
The end result is it DOES push a view, but I cannot see the tab bar at the bottom, let alone any of the pages I've added to the controller.
If I create the Tab Bar progrmattically in my TabBarViewController.m it works like a charm:
- (void) viewDidLoad {
UIView *uiView = [[UIView alloc] initWWithFrame:[[UIScreen mainScreen] applicationFrame]];
self.view=uiView;
[uiView release];
TabOneViewController *tabOne = [[TabOneViewController alloc] init];
TabTwoViewController *tabTwo = [[TabTwoViewController alloc] init];
tabOne.title=@"Tab One";
tabTwo.title=@"Tab Two";
tabBarController = [[UITabBarController alloc] init];
tabBarController.view.frame = CGRectmake(0, 0, 320, 460);
[tabBarController setViewControllers: [NSArray arrayWithObjects: tabOne, tabTwo, nil]];
[tabOne release];
[tabTwo release];
[self.view addSubView:tabBarController.view];
}
What am I doing wrong? Why can't I link it in IB?