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];

我希望它能帮助

+0

嗨。我的tabbar没有导航控制器。我在我的rootview中有一个navigationController。 (这不是与tabbar视图)我需要第二个导航控制器的tabbar? – DeFlo 2012-01-31 15:17:52

+1

是的,您必须将navigationController拳头添加到tabbar,然后将roort控制器添加到它。目前,如果您将viewController直接推送到TabBar,它将不会为您提供导航功能。 – 2012-01-31 15:39:22

+1

目前,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