我的应用有TabBarController
和ViewController
,ViewController
有TableView
,当我选择TableView
的一个单元格时,会显示其他{ {1}}没有ViewController
,视图会调整到屏幕底部。
当我在TabBarController
ViewController
我看到了
NSLog(@"%@", self.tabBarController.view.subviews);
NSLog(@"%@", self.view.subviews);
任何人都能为我解释一下吗?
提前致谢。
答案 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];