全部, 我正在使用基于导航的应用程序,其中我需要在视图中实现标签栏。 在一个视图中我需要5个标签,任何一个请建议我以编程方式创建标签栏,?每个标签应该导航到另一个xib。
建议永远受到赞赏。 问候
答案 0 :(得分:14)
以下是Apple的一个示例代码,用于以编程方式创建标签栏:
- (void)applicationDidFinishLaunching:(UIApplication *)application {
tabBarController = [[UITabBarController alloc] init];
MyViewController* vc1 = [[MyViewController alloc] init];
MyOtherViewController* vc2 = [[MyOtherViewController alloc] init];
NSArray* controllers = [NSArray arrayWithObjects:vc1, vc2, nil];
tabBarController.viewControllers = controllers;
// Add the tab bar controller's current view as a subview of the window
[window addSubview:tabBarController.view];
}
答案 1 :(得分:2)
值得注意的是,Apple不支持在导航控制器内部实现的标签栏控制器。来自上述vodhkang链接的相同文档:
注意:虽然导航控制器可以嵌入选项卡内,但反之则不然。从导航界面中呈现标签栏界面可能会使用户感到困惑。导航界面使用一个或多个自定义视图控制器来呈现专注于一个目标的界面,该界面通常是特定类型数据的管理。相比之下,标签栏界面的标签可以在应用程序中反映完全不同的目的,并且不需要以任何方式相关。此外,按下导航堆栈上的标签栏控制器将导致仅为该屏幕显示选项卡,而不会显示任何其他选项卡。
因此,不要使用UITabBarController,而是考虑使用UIViewController作为标签栏的委托实现标签栏。