2011-08-25 52 views
0

最初,我使用IB将navcontroller拖动到我的tabbar上,然后设置根控制器。但是,我试图创建一个没有IB的导航控制器。以编程方式创建UINavigationController

我所做的是创建一个navcontroller的子类,将在我的tabbar中使用。导航栏确实显示,所以我知道这是工作。

现在,我需要将视图控制器推入层次结构。在导航控制器的viewDidLoad:

- (void)viewDidLoad { 

    InfoViewController *initialController = [[InfoViewController alloc] init]; 
    [self.navigationController pushViewController:initialController animated:YES]; 

    [initialController release]; 
    [super viewDidLoad]; 
} 

我没有错误,但没有在导航控制器显示出来。有人知道为什么

+0

Apple建议不要继承UINavigationController BTW ...只是一个参考,不推荐。另外,为什么不把视图控制器推到导航控制器,然后以模态方式呈现它?最简单的方法真的... – TommyG

+0

如果你不应该子类的navcontroller你会怎么做它以编程方式?你必须使用笔尖? Arent我推视控制器到navcontroller? – Adam

+0

看到你发现问题..如果你需要任何帮助,请告诉我。 – TommyG

回答

0

InfoViewController的init方法是什么样的?如果你使用一个笔尖来构建它,那么你需要调用initWithNib,而不是init。

+0

没有参与其中。我想我发现了这个问题。我在导航控制器中使用了self.navigationController。它应该是自我 – Adam

0

创建视图控制器何时/在哪里创建导航控制器(并将它们添加到它)然后将视图控制器列表添加到tabbar。