在 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 消失