tabbarcontroller有什么看法?

时间:2013-10-04 10:51:25

标签: ios

我的应用有TabBarControllerViewControllerViewControllerTableView,当我选择TableView的一个单元格时,会显示其他{ {1}}没有ViewController,视图会调整到屏幕底部。 当我在TabBarController

中调试时
ViewController

我看到了

NSLog(@"%@", self.tabBarController.view.subviews);
NSLog(@"%@", self.view.subviews);

任何人都能为我解释一下吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可能在UITabBarController中声明了UIViewController。这样,该视图控制器是唯一拥有tabbarcontroller的人。像这样在App Delegate中声明tabbarcontroller,它会没问题:

FirstViewController *firstViewController = [[FirstViewController alloc] init];
SecondViewController *secondViewController = [[SecondViewController alloc] init];
UITabBarController *tabBarController = [[UITabBarController alloc] init];
tabBarController.viewControllers = @[firstViewController, secondViewController];

self.window.rootViewController = tabBarController;
[self.window makeKeyAndVisible];

如果您正在尝试完成iOS所拥有的功能,例如音乐应用,则必须添加UINavigationController。这是这样的:

FirstViewController *firstViewController = [[FirstViewController alloc] init];
UINavigationController *firstNavigationController = [[UINavigationController] initWithRootViewController:firstViewController];

SecondViewController *secondViewController = [[SecondViewController alloc] init];
UINavigationController *secondNavigationController = [[UINavigationController] initWithRootViewController:secondViewController];

UITabBarController *tabBarController = [[UITabBarController alloc] init];
tabBarController.viewControllers = @[firstNavigationController, secondNavigationController];

self.window.rootViewController = tabBarController;
[self.window makeKeyAndVisible];