我制作了一个非常简单的基于导航的应用程序(UIViewController)。该视图在Main RootViewController上有一个按钮。
接下来,我做了2个类:TabOneViewController,TabTwoViewController。都好。然后我创建了一个新的Class TabBarViewController。我打开了NIB文件并放在它上面的``UITabBarController上。默认情况下,它在其中创建的两个选项卡分别分配给我的TabOne和TabTwo视图控制器。 强文 然后在我的TabBarViewController中,我为UITabBarController创建了一个IBOutlet,合成了它等等。我通过“文件所有者”在“界面”构建器中将其链接起来。
在RootViewController中,我将按钮链接到我的“pushView”方法,在这个pushView方法中,我有以下代码:
- (IBAction) pushView {
TabBarViewController *controller = [[TabBarViewController alloc] init];
[self.navigationController pushViewController:controller animated:YES];
[controller release];
}
最终结果是它推动视图,但我看不到底部的标签栏,更不用说我添加到控制器的任何页面了。
我做错了什么?为什么我不能在IB中链接它?
答案 0 :(得分:0)
我不是100%确定是否允许..因为你已经有一个tabBarController作为rootViewController,并且你再删除一个tabBarController作为第一个标签控制器,标签ll重叠,考虑到你的iPhone上的房地产数量,它有意义的是不允许在另一个
中使用tabViewController答案 1 :(得分:0)
首先,您需要使用笔尖分配视图控制器:
TabBarViewController *controller = [[TabBarViewController alloc] initWithNibName:@"YourNibName" bundle:nil];
其次,在IB中,单击UITabBarController并转到身份检查器,并确保选择自定义类。也就是说,除非你覆盖或添加一些功能,否则根本不需要自定义类,只需直接使用UITabBarController:
UITabBarController *controller = [[UITabBarController alloc] initWithNibName:@"YourNibName" bundle:nil];