2012-04-11 68 views
1

我做了一个非常简单的基于导航的应用程序(UIViewController)。该视图在主RootViewController上有一个按钮。切换意见 - UIViewController到UITabBarController

接下来,我做了2个类:TabOneViewController,TabTwoViewController。都好。然后我创建了一个新的类TabBarViewController。我打开了NIB文件并将其放在一个“UITabBarController”上。它默认创建的两个选项卡分别分配给我的TabOne和TabTwo视图控制器。 strong text 然后在我的TabBarViewController中,我为UITabBarController制作了一个IBOutlet,将它合成了等。我通过“文件所有者”在Interface Builder中将它链接起来。

在RootViewController的,我链接按钮,我的“pushView”的方法,并且在该pushView方法,我有以下代码:

- (IBAction) pushView { 
    TabBarViewController *controller = [[TabBarViewController alloc] init]; 
    [self.navigationController pushViewController:controller animated:YES]; 
    [controller release]; 
} 

最终的结果是它并推的视图,但我无法看到底部的标签栏,更不用说我添加到控制器的任何页面了。

我在做什么错?为什么我不能在IB中链接它?

回答

0

我不是100%确定是否允许..因为您已经有一个tabBarController作为rootViewController,并且您还丢弃了一个tabBarController作为第一个选项卡控制器,选项卡会重叠,考虑您在iPhone上拥有的房地产数量,它是有意义的不允许内的另一个

0

首先一个tabViewController,你需要与你的笔尖分配您的视图控制器:

TabBarViewController *controller = [[TabBarViewController alloc] initWithNibName:@"YourNibName" bundle:nil]; 

其次,在IB,点击的UITabBarController并转到身份检查,使确定你选择你的自定义类。也就是说,除非您重写或添加一些功能,否则根本不需要定制类,只需直接使用UITabBarController:

UITabBarController *controller = [[UITabBarController alloc] initWithNibName:@"YourNibName" bundle:nil]; 
相关问题