iPhone:当选中一个表格单元格时,更改视图
问题描述:
我有一个UITabBar有2个视图。 一个视图包含一个UITable。当我选择一个单元格时,我想导航到另一个视图。iPhone:当选中一个表格单元格时,更改视图
我一直使用此代码做了它:
if(self.damageController == nil)
{
DamageControllerOverview *viewTwo = [[DamageControllerOverview alloc] initWithNibName:@"DamageControllerOverview" bundle:[NSBundle mainBundle]];
self.damageController = viewTwo;
self.damageController.damageAccount = damageAccount;
self.damageController.ma = ma;
[self.navigationController setNavigationBarHidden:NO animated:NO];
temporaryBarButtonItem = [[UIBarButtonItem alloc] init];
temporaryBarButtonItem.title = @"Back";
self.navigationItem.backBarButtonItem = temporaryBarButtonItem;
[viewTwo release];
}
[self.navigationController pushViewController:self.damageController animated:YES];
但因为我有表中的TabBar它不工作了。 有人知道为什么吗?
问候 梅拉妮
*编辑: 这不是我的RootViewController的。 我已经有一个navigationcontroller而不想使用TabBar创建一个新的
答
我从你的问题理解的是,
1 - 你在主窗口中有一个tabbar
2,那么你在标签栏中有一个navigationController
。
所以你需要把你的控制器推到navigationController
这样。
[self.tabBarController.navigationController pushViewController:self.damageController animated:YES];
,而不是 [self.navigationController pushViewController:self.damageController animated:YES];
我希望它能帮助
嗨。我的tabbar没有导航控制器。我在我的rootview中有一个navigationController。 (这不是与tabbar视图)我需要第二个导航控制器的tabbar? – DeFlo 2012-01-31 15:17:52
是的,您必须将navigationController拳头添加到tabbar,然后将roort控制器添加到它。目前,如果您将viewController直接推送到TabBar,它将不会为您提供导航功能。 – 2012-01-31 15:39:22
目前,self.navigationController将为零,因为你没有你的viewController在任何堆栈中,以致你在nil navigationController上调用oushViewController,这就是为什么它不被推送。链接到ViewController类Refrences在下面给出,请检查navigationController属性部分以获得对视图控制器的navigationController的基本理解http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/参考/ Reference.html – 2012-01-31 15:43:19