当我创建四个导航控制器并将它们添加到 UITabBar 时,如下所示:
// Create the root view controllers for the tab bar
firstViewController = [[FirstViewController alloc] init];
secondViewController = [[SecondViewController alloc] init];
thirdViewController = [[ThirdViewController alloc] init];
fourthViewController = [[FourthViewController alloc] init];
// Configure the tab bar
UITabBarController *tabBarController = [[[UITabBarController alloc] init] autorelease];
tabBarController.viewControllers = @[
[[[UINavigationController alloc] initWithRootViewController:firstViewController] autorelease],
[[[UINavigationController alloc] initWithRootViewController:secondViewController] autorelease],
[[[UINavigationController alloc] initWithRootViewController:thirdViewController] autorelease],
[[[UINavigationController alloc] initWithRootViewController:fourthViewController] autorelease]
];
tabBarController.selectedIndex = 1;
self.window.rootViewController = tabBarController;
我遇到了一个问题,即哪个 UINavigationController 在启动时首次可见(在本例中为索引 1)有一个奇怪的“弹出”动画。导航栏中的标题等动画正确,但导航控制器的内容没有动画变化。
选择不同的选项卡,然后返回到原始选项卡可以解决问题。
此外,如果我设置self.window.rootViewController
为[[[UINavigationController alloc] initWithRootViewController:secondViewController] autorelease]
使选项卡栏不在等式中,导航控制器就可以正常工作。
有什么想法吗?