在 UITabbarController 上推送 UIViewController 的问题

Posted

技术标签:

【中文标题】在 UITabbarController 上推送 UIViewController 的问题【英文标题】:Issue with pushing UIViewController on UITabbarController 【发布时间】:2011-12-05 14:02:01 【问题描述】:

我已经实现了 UINavigationController 和 UITabbarController 。我可以看到导航栏和标签栏以及 UIViewController。

问题是当我在此控制器上推送任何其他 UIViewController 时,该视图控制器被推送但 Tabbar 消失了。

是否有任何规定可以将 UITabBar 沿堆栈保留????

下面是我指的代码

UIViewController* cont1 = [UIViewController alloc]init];
UIViewController* cont2 = [UIViewController alloc]init];

[tabBarController setViewControllers:[NSArray arrayWithObjects:cont1,cont2,nil]];

谢谢。

【问题讨论】:

【参考方案1】:

你应该反过来做。 在UITabbarController 中的每个UIViewController 中放置一个UINavigationController

【讨论】:

【参考方案2】:
YourViewController *viewController = [YourViewController alloc] init] autorelease];
UINavigationController *controller = [UINavigationController alloc] initWithRootViewController:viewController] autorelease];
controller.title = @"something";
controller.tabBarItem.image = [UIImage imageNamed:@"xx"];
tabController.viewControllers = [NSArray arrayWithObject:controller];

然后您可以将子视图控制器推送到导航控制器中,并在屏幕底部保持标签栏。

【讨论】:

以上是关于在 UITabbarController 上推送 UIViewController 的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 uitabbarcontroller 中的 uibutton 单击事件上推送其他视图控制器?

从 UITabBarController 推送的 UISplitViewController

在 UITabBarController 的 UINavigationController 中推送 UIViewController

在 UITabBarController 中推送 UINavigationController 时 UITableViewCell 消失

在 UITabBarController 中推送 ViewController

从嵌套在 UITabBarController 中的导航控制器推送视图控制器?