0

我的应用程序有一个TabBarControllerViewController,在ViewController有一个TableView,当我选择一个单元格时TableView,将显示另一个ViewController没有TabBarController,并且视图将调整到屏幕底部。当我在ViewController

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

我看见

2013-10-04 17:36:08.805 Btalk[6256:c07] (  
"<UITransitionView: 0x7d468a0; frame = (0 0; 320 431); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x7d46950>>",
"<UITabBar: 0x7a691b0; frame = (0 431; 320 49); autoresize = W+TM; layer = <CALayer: 0x7a692a0>>"
)

2013-10-04 17:36:10.737 Btalk[6256:c07] (
"<UITableView: 0x8b7ba00; frame = (0 0; 320 423); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7aadcd0>; layer = <CALayer: 0x7aaee30>; contentOffset: {0, 0}>",
"<UIView: 0x7abfed0; frame = (0 423; 320 37); autoresize = W+TM; layer = <CALayer: 0x7abff30>>"
)

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

提前致谢。

4

1 回答 1

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];
于 2013-10-04T11:02:39.397 回答